
module MenhirBasics = struct
  
  exception Error
  
  let _eRR =
    fun _s ->
      raise Error
  
  type token = 
    | WITH
    | WHEN
    | VAL
    | USE_LANG_BLOB of 
# 144 "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 
# 79 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 28 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | UINT64 of 
# 85 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 33 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | UINT32 of 
# 83 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 38 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | UINT16 of 
# 81 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 43 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | TYPE
    | TRY
    | TRUE
    | TOTAL
    | TILDE of 
# 75 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 52 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | THEN
    | SYNTH
    | SUB_EFFECT
    | SUBTYPE
    | SUBKIND
    | STRING of 
# 72 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 62 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | SQUIGGLY_RARROW
    | SPLICET
    | SPLICE
    | SIZET of 
# 86 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 70 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | SET_RANGE_OF
    | SEQ_BANG_LBRACK
    | SEMICOLON_OP of 
# 106 "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 
# 88 "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_CHECK
    | POLYMONADIC_SUBCOMP
    | POLYMONADIC_BIND
    | PIPE_RIGHT
    | PIPE_LEFT
    | PERCENT_LBRACK
    | OP_MIXFIX_ASSIGNMENT of 
# 142 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 117 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OP_MIXFIX_ACCESS of 
# 142 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 122 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPPREFIX of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 127 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX4 of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 132 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX3R of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 137 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX3L of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 142 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX2 of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 147 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX1 of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 152 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0d of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 157 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0c of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 162 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0b of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 167 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0a of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 172 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPEN
    | OPAQUE
    | OF
    | NOEXTRACT
    | NOEQUALITY
    | NEW_EFFECT
    | NEW
    | NAME of 
# 74 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 184 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | MODULE
    | MINUS
    | MATCH_OP of 
# 94 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 191 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | MATCH
    | LPAREN_RPAREN
    | LPAREN
    | LONG_LEFT_ARROW
    | LOGIC
    | LET_OP of 
# 92 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 201 "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 
# 78 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 222 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT64 of 
# 84 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 227 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT32 of 
# 82 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 232 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT16 of 
# 80 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 237 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT of 
# 77 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 242 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INSTANCE
    | INLINE_FOR_EXTRACTION
    | INLINE
    | INCLUDE
    | IN
    | IMPLIES
    | IF_OP of 
# 95 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 253 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | IFF
    | IF
    | IDENT of 
# 73 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 260 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | HASH
    | FUNCTION
    | FUN
    | FRIEND
    | FORALL_OP of 
# 99 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 269 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | FORALL
    | FALSE
    | EXISTS_OP of 
# 97 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 276 "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 
# 90 "fstar-guts/FStarC_Parser_Parse.mly"
       (FStar_Char.char)
# 306 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | CALC
    | BY
    | BLOB of 
# 143 "fstar-guts/FStarC_Parser_Parse.mly"
      (string * string * Lexing.position * FStarC_Sedlexing.snap)
# 313 "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 
# 93 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 331 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | AND
    | AMP
  
end

include MenhirBasics

# 1 "fstar-guts/FStarC_Parser_Parse.mly"
  
(*
 Menhir reports the following warnings:

   Warning: 5 states have shift/reduce conflicts.
   Warning: 6 shift/reduce conflicts were arbitrarily resolved.
   Warning: 221 end-of-stream conflicts were arbitrarily resolved.

 If you're editing this file, be sure to not increase the warnings,
 except if you have a really good reason.

 The shift-reduce conflicts are natural in an ML-style language. E.g.,
 there are S-R conflicts with dangling elses, with a non-delimited match where
 the BAR is dangling etc.

 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;
}


# 411 "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>. *)

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

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

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

  | MenhirState0104 : (('s, 'r) _menhir_cell1_qlident _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0104.
        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>. *)

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

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

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

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

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

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

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

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

  | MenhirState0150 : (('s, 'r) _menhir_cell1_FORALL, 'r) _menhir_state
    (** State 0150.
        Stack shape : FORALL.
        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_LBRACE_BAR, 'r) _menhir_state
    (** State 0152.
        Stack shape : LBRACE_BAR.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0369 : ((((('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_11_ _menhir_cell0_BAR, 'r) _menhir_state
    (** State 0369.
        Stack shape : matchMaybeOp term option(match_returning) WITH reverse_left_flexible_list(BAR,__anonymous_11) BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0373 : (('s, 'r) _menhir_cell1_option___anonymous_9_ _menhir_cell0_RETURNS, 'r) _menhir_state
    (** State 0373.
        Stack shape : option(__anonymous_9) RETURNS.
        Start symbol: <undetermined>. *)

  | MenhirState0376 : (('s, 'r) _menhir_cell1_option___anonymous_10_, 'r) _menhir_state
    (** State 0376.
        Stack shape : option(__anonymous_10).
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

  | MenhirState0392 : ((((('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 0392.
        Stack shape : ifMaybeOp noSeqTerm option(match_returning) THEN noSeqTerm ELSE.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0451 : (('s, 'r) _menhir_cell1_patternOrMultibinder, 'r) _menhir_state
    (** State 0451.
        Stack shape : patternOrMultibinder.
        Start symbol: <undetermined>. *)

  | MenhirState0454 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0454.
        Stack shape : maybeFocus LPAREN TILDE RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

  | MenhirState0470 : ((((('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 0470.
        Stack shape : atomicTermNotQUident DOT_LPAREN term RPAREN LARROW.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

  | MenhirState0487 : (((('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 0487.
        Stack shape : atomicTermNotQUident DOT_LENS_PAREN_LEFT term LENS_PAREN_RIGHT.
        Start symbol: <undetermined>. *)

  | MenhirState0488 : ((((('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 0488.
        Stack shape : atomicTermNotQUident DOT_LENS_PAREN_LEFT term LENS_PAREN_RIGHT LARROW.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0493 : ((((('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 0493.
        Stack shape : atomicTermNotQUident DOT_LBRACK_BAR term BAR_RBRACK LARROW.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0498 : ((((('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 0498.
        Stack shape : atomicTermNotQUident DOT_LBRACK term RBRACK LARROW.
        Start symbol: <undetermined>. *)

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

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

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

  | MenhirState0508 : (((('s, 'r) _menhir_cell1_LET_OP, 'r) _menhir_cell1_letoperatorbinding, 'r) _menhir_cell1_list___anonymous_12_ _menhir_cell0_IN, 'r) _menhir_state
    (** State 0508.
        Stack shape : LET_OP letoperatorbinding list(__anonymous_12) IN.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0575 : ((((('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 0575.
        Stack shape : LPAREN aqual binderAttributes tmNoEq RPAREN RARROW.
        Start symbol: <undetermined>. *)

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

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

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

  | MenhirState0589 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0589.
        Stack shape : maybeFocus LPAREN OPPREFIX RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

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

  | MenhirState0595 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_cell1_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0595.
        Stack shape : maybeFocus LPAREN MINUS RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0601 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0601.
        Stack shape : maybeFocus LPAREN LET_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0607 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0607.
        Stack shape : maybeFocus LPAREN FORALL_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0613 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0613.
        Stack shape : maybeFocus LPAREN EXISTS_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0619 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0619.
        Stack shape : maybeFocus LPAREN AND_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

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

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

  | MenhirState0632 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0632.
        Stack shape : maybeFocus LPAREN binop_name RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

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

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

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

  | MenhirState0643 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_lident, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_state
    (** State 0643.
        Stack shape : maybeFocus lident nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0645 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_lident, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0645.
        Stack shape : maybeFocus lident nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0652 : ((((('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 0652.
        Stack shape : attribute LET localletqualifier letbinding list(attr_letbinding) IN.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0731 : ((((('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 0731.
        Stack shape : ELIM FORALL binders DOT noSeqTerm WITH.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0737 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0737.
        Stack shape : ELIM EXISTS binders DOT.
        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_state
    (** State 0739.
        Stack shape : ELIM EXISTS binders DOT noSeqTerm RETURNS.
        Start symbol: <undetermined>. *)

  | MenhirState0741 : (((((('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 0741.
        Stack shape : ELIM EXISTS binders DOT noSeqTerm RETURNS noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0743 : ((((((('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 0743.
        Stack shape : ELIM EXISTS binders DOT noSeqTerm RETURNS noSeqTerm WITH singleBinder DOT.
        Start symbol: <undetermined>. *)

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

  | MenhirState0747 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_IMPLIES, 'r) _menhir_state
    (** State 0747.
        Stack shape : ELIM tmFormula IMPLIES.
        Start symbol: <undetermined>. *)

  | MenhirState0748 : ((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0748.
        Stack shape : ELIM tmFormula IMPLIES tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0749 : (((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_WITH, 'r) _menhir_state
    (** State 0749.
        Stack shape : ELIM tmFormula IMPLIES tmFormula WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0751 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_state
    (** State 0751.
        Stack shape : ELIM tmFormula DISJUNCTION.
        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_state
    (** State 0753.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS.
        Start symbol: <undetermined>. *)

  | MenhirState0755 : (((((('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 0755.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0757 : ((((((('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 0757.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0759 : (((((((('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 0759.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT noSeqTerm AND.
        Start symbol: <undetermined>. *)

  | MenhirState0761 : ((((((((('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 0761.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT noSeqTerm AND singleBinder DOT.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0768 : ((((('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 0768.
        Stack shape : ELIM tmConjunction CONJUNCTION tmTuple RETURNS noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0770 : (((((('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 0770.
        Stack shape : ELIM tmConjunction CONJUNCTION tmTuple RETURNS noSeqTerm WITH binders DOT.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0839 : ((((('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 0839.
        Stack shape : INTRO FORALL binders DOT noSeqTerm WITH.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0845 : ((((('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 0845.
        Stack shape : INTRO EXISTS binders DOT noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0847 : (((((('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 0847.
        Stack shape : INTRO EXISTS binders DOT noSeqTerm WITH list(atomicTerm) AND.
        Start symbol: <undetermined>. *)

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

  | MenhirState0850 : (((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_IMPLIES, 'r) _menhir_state
    (** State 0850.
        Stack shape : INTRO tmFormula IMPLIES.
        Start symbol: <undetermined>. *)

  | MenhirState0851 : ((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0851.
        Stack shape : INTRO tmFormula IMPLIES tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0852 : (((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_WITH, 'r) _menhir_state
    (** State 0852.
        Stack shape : INTRO tmFormula IMPLIES tmFormula WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0854 : ((((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_WITH, 'r) _menhir_cell1_singleBinder _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0854.
        Stack shape : INTRO tmFormula IMPLIES tmFormula WITH singleBinder DOT.
        Start symbol: <undetermined>. *)

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

  | MenhirState0859 : ((((('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 0859.
        Stack shape : INTRO tmFormula DISJUNCTION tmConjunction WITH NAME.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0866 : ((((('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 0866.
        Stack shape : INTRO tmConjunction CONJUNCTION tmTuple WITH noSeqTerm AND.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

  | MenhirState0913 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqualifiedWithAttrs_lident_, 'r) _menhir_state
    (** State 0913.
        Stack shape : LPAREN aqualifiedWithAttrs(lident).
        Start symbol: <undetermined>. *)

  | MenhirState0915 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqualifiedWithAttrs_lident_, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lident__ _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0915.
        Stack shape : LPAREN aqualifiedWithAttrs(lident) nonempty_list(aqualifiedWithAttrs(lident)) COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0916 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqualifiedWithAttrs_lident_, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lident__ _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_state
    (** State 0916.
        Stack shape : LPAREN aqualifiedWithAttrs(lident) nonempty_list(aqualifiedWithAttrs(lident)) COLON simpleArrow.
        Start symbol: <undetermined>. *)

  | MenhirState0919 : ((('s, 'r) _menhir_cell1_aqualifiedWithAttrs_lident_, 'r) _menhir_cell1_aqualifiedWithAttrs_lident_, 'r) _menhir_state
    (** State 0919.
        Stack shape : aqualifiedWithAttrs(lident) aqualifiedWithAttrs(lident).
        Start symbol: <undetermined>. *)

  | MenhirState0922 : ((('s, 'r) _menhir_cell1_FUN, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_ _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0922.
        Stack shape : FUN nonempty_list(patternOrMultibinder) RARROW.
        Start symbol: <undetermined>. *)

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

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

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

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

  | MenhirState0937 : ((((('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 0937.
        Stack shape : LET localletqualifier letbinding list(attr_letbinding) IN.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

  | MenhirState0963 : (((((('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 0963.
        Stack shape : LPAREN aqual binderAttributes tmFormula RPAREN RARROW.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

  | MenhirState1000 : ((((('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 1000.
        Stack shape : list(decoration) VAL LPAREN TILDE RPAREN binders COLON.
        Start symbol: <undetermined>. *)

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

  | MenhirState1005 : ((((('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 1005.
        Stack shape : list(decoration) VAL LPAREN OPPREFIX RPAREN binders COLON.
        Start symbol: <undetermined>. *)

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

  | MenhirState1010 : ((((('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 1010.
        Stack shape : list(decoration) VAL LPAREN MINUS RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1013 : (((('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 1013.
        Stack shape : list(decoration) VAL LPAREN LET_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1015 : ((((('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 1015.
        Stack shape : list(decoration) VAL LPAREN LET_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1018 : (((('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 1018.
        Stack shape : list(decoration) VAL LPAREN FORALL_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1020 : ((((('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 1020.
        Stack shape : list(decoration) VAL LPAREN FORALL_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1023 : (((('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 1023.
        Stack shape : list(decoration) VAL LPAREN EXISTS_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1025 : ((((('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 1025.
        Stack shape : list(decoration) VAL LPAREN EXISTS_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1028 : (((('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 1028.
        Stack shape : list(decoration) VAL LPAREN AND_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1030 : ((((('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 1030.
        Stack shape : list(decoration) VAL LPAREN AND_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1033 : (((('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 1033.
        Stack shape : list(decoration) VAL LPAREN binop_name RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1035 : ((((('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 1035.
        Stack shape : list(decoration) VAL LPAREN binop_name RPAREN binders COLON.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState1166 : (((('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 1166.
        Stack shape : uident LBRACE right_flexible_nonempty_list(SEMICOLON,recordFieldDecl) RBRACE COLON.
        Start symbol: <undetermined>. *)

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

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

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

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

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

  | MenhirState1181 : ((((('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 1181.
        Stack shape : ident typars option(ascribeKind) EQUALS binderAttributes LBRACE.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState1195 : (((('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 1195.
        Stack shape : list(decoration) SUB_EFFECT quident SQUIGGLY_RARROW quident LBRACE IDENT EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1199 : ((((('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 1199.
        Stack shape : list(decoration) SUB_EFFECT quident SQUIGGLY_RARROW quident LBRACE IDENT EQUALS tmIff SEMICOLON IDENT EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1203 : (((('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 1203.
        Stack shape : list(decoration) SUB_EFFECT quident SQUIGGLY_RARROW quident EQUALS.
        Start symbol: <undetermined>. *)

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

  | MenhirState1208 : ((('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 1208.
        Stack shape : list(decoration) SPLICET LBRACK right_flexible_list(SEMICOLON,ident) RBRACK.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState1216 : ((('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 1216.
        Stack shape : list(decoration) SPLICE LBRACK right_flexible_list(SEMICOLON,ident) RBRACK.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

  | MenhirState1236 : (((('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 1236.
        Stack shape : list(decoration) POLYMONADIC_SUBCOMP quident quident EQUALS.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState1245 : (((('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 1245.
        Stack shape : list(decoration) POLYMONADIC_BIND LPAREN quident COMMA quident RPAREN PIPE_RIGHT.
        Start symbol: <undetermined>. *)

  | MenhirState1247 : ((((('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 1247.
        Stack shape : list(decoration) POLYMONADIC_BIND LPAREN quident COMMA quident RPAREN PIPE_RIGHT quident EQUALS.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

  | MenhirState1276 : (((('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 1276.
        Stack shape : LPAREN TILDE RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

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

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

  | MenhirState1285 : (((('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 1285.
        Stack shape : LPAREN OPPREFIX RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

  | MenhirState1290 : (((('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 1290.
        Stack shape : LPAREN MINUS RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

  | MenhirState1295 : (((('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 1295.
        Stack shape : LPAREN LET_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

  | MenhirState1300 : (((('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 1300.
        Stack shape : LPAREN FORALL_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

  | MenhirState1305 : (((('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 1305.
        Stack shape : LPAREN EXISTS_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

  | MenhirState1310 : (((('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 1310.
        Stack shape : LPAREN AND_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

  | MenhirState1315 : (((('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 1315.
        Stack shape : LPAREN binop_name RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

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

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

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

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

  | MenhirState1326 : ((((('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 1326.
        Stack shape : LBRACE uident binders COLON tmArrow(tmNoEq) WITH.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState1364 : ((((('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 1364.
        Stack shape : list(decoration) INSTANCE VAL LPAREN TILDE RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1366 : (((((('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 1366.
        Stack shape : list(decoration) INSTANCE VAL LPAREN TILDE RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1369 : ((((('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 1369.
        Stack shape : list(decoration) INSTANCE VAL LPAREN OPPREFIX RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1371 : (((((('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 1371.
        Stack shape : list(decoration) INSTANCE VAL LPAREN OPPREFIX RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1374 : ((((('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 1374.
        Stack shape : list(decoration) INSTANCE VAL LPAREN MINUS RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1376 : (((((('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 1376.
        Stack shape : list(decoration) INSTANCE VAL LPAREN MINUS RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1379 : ((((('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 1379.
        Stack shape : list(decoration) INSTANCE VAL LPAREN LET_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1381 : (((((('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 1381.
        Stack shape : list(decoration) INSTANCE VAL LPAREN LET_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1384 : ((((('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 1384.
        Stack shape : list(decoration) INSTANCE VAL LPAREN FORALL_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1386 : (((((('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 1386.
        Stack shape : list(decoration) INSTANCE VAL LPAREN FORALL_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1389 : ((((('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 1389.
        Stack shape : list(decoration) INSTANCE VAL LPAREN EXISTS_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1391 : (((((('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 1391.
        Stack shape : list(decoration) INSTANCE VAL LPAREN EXISTS_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1394 : ((((('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 1394.
        Stack shape : list(decoration) INSTANCE VAL LPAREN AND_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1396 : (((((('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 1396.
        Stack shape : list(decoration) INSTANCE VAL LPAREN AND_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1399 : ((((('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 1399.
        Stack shape : list(decoration) INSTANCE VAL LPAREN binop_name RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1401 : (((((('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 1401.
        Stack shape : list(decoration) INSTANCE VAL LPAREN binop_name RPAREN binders COLON.
        Start symbol: <undetermined>. *)

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

  | MenhirState1405 : ((((('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 1405.
        Stack shape : list(decoration) INSTANCE VAL lident binders COLON.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

  | MenhirState1423 : ((((('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 1423.
        Stack shape : list(decoration) EFFECT LBRACE uident binders WITH.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

  | MenhirState1501 : ('s, _menhir_box_term) _menhir_state
    (** State 1501.
        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_lident_ = 
  | MenhirCell1_aqualifiedWithAttrs_lident_ 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_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.aqual * 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_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 _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_12_ = 
  | MenhirCell1_list___anonymous_12_ 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_lident__ = 
  | MenhirCell1_nonempty_list_aqualifiedWithAttrs_lident__ 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_aqualifiedWithAttrs_lidentOrUnderscore__ = 
  | MenhirCell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ of 's * ('s, 'r) _menhir_state * (((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
   FStarC_Syntax_Syntax.univ_name)
  list)

and ('s, 'r) _menhir_cell1_nonempty_list_patternOrMultibinder_ = 
  | MenhirCell1_nonempty_list_patternOrMultibinder_ 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_10_ = 
  | MenhirCell1_option___anonymous_10_ 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_patternOrMultibinder = 
  | MenhirCell1_patternOrMultibinder of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern list) * Lexing.position * Lexing.position

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_reverse_left_flexible_list_BAR___anonymous_11_ = 
  | MenhirCell1_reverse_left_flexible_list_BAR___anonymous_11_ of 's * ('s, 'r) _menhir_state * ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  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.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  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_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_trigger = 
  | MenhirCell1_trigger of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ list list) * 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 * 
# 93 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3519 "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 * 
# 97 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3652 "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 * 
# 99 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3662 "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 * 
# 73 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3681 "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, 'r) _menhir_cell1_IMPLIES = 
  | MenhirCell1_IMPLIES of 's * ('s, 'r) _menhir_state * 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 * 
# 92 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3757 "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 * 
# 74 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3782 "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 * 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3801 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

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

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

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

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

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

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

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

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

and ('s, 'r) _menhir_cell1_OPPREFIX = 
  | MenhirCell1_OPPREFIX of 's * ('s, 'r) _menhir_state * 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3864 "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_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 * 
# 106 "fstar-guts/FStarC_Parser_Parse.mly"
       (string option)
# 3928 "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 * 
# 75 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3956 "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 ->
    (
# 1429 "fstar-guts/FStarC_Parser_Parse.mly"
                       ( t )
# 4000 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_004 =
  fun t ->
    (
# 1430 "fstar-guts/FStarC_Parser_Parse.mly"
                                 ( t )
# 4008 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_005 =
  fun a ->
    let h = 
# 1442 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4016 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1417 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( [h, a] )
# 4021 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_006 =
  fun a ->
    let h = 
# 1443 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4029 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1417 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( [h, a] )
# 4034 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_007 =
  fun a rest ->
    let h = 
# 1442 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4042 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( (h, a) :: rest )
# 4047 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_008 =
  fun a rest ->
    let h = 
# 1443 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4055 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( (h, a) :: rest )
# 4060 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_009 =
  fun e rest ->
    let a = 
# 1318 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 4068 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let h = 
# 1442 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4073 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1419 "fstar-guts/FStarC_Parser_Parse.mly"
                                              ( (h, a) :: rest )
# 4078 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_010 =
  fun e rest ->
    let a = 
# 1318 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 4086 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let h = 
# 1443 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4091 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1419 "fstar-guts/FStarC_Parser_Parse.mly"
                                              ( (h, a) :: rest )
# 4096 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_011 =
  fun a rest ->
    (
# 1420 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( a :: rest )
# 4104 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_012 =
  fun () ->
    (
# 1421 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 4112 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_013 =
  fun a rest ->
    let h = 
# 1442 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4120 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1433 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( (h, a) :: rest )
# 4125 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_014 =
  fun a rest ->
    let h = 
# 1443 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4133 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1433 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( (h, a) :: rest )
# 4138 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_015 =
  fun a rest ->
    (
# 1434 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( a :: rest )
# 4146 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_016 =
  fun () ->
    (
# 1435 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 4154 "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
    (
# 1425 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp head (map (fun (x,y) -> (y,x)) args) (rr2 _loc_head_ _loc_args_) )
# 4164 "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
    (
# 1425 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp head (map (fun (x,y) -> (y,x)) args) (rr2 _loc_head_ _loc_args_) )
# 4174 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_019 =
  fun t ->
    (
# 1439 "fstar-guts/FStarC_Parser_Parse.mly"
                                            (t)
# 4182 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_020 =
  fun t ->
    (
# 661 "fstar-guts/FStarC_Parser_Parse.mly"
                                     ( mk_meta_tac t )
# 4190 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_021 =
  fun () ->
    (
# 662 "fstar-guts/FStarC_Parser_Parse.mly"
              ( Implicit )
# 4198 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_022 =
  fun () ->
    (
# 663 "fstar-guts/FStarC_Parser_Parse.mly"
              ( Equality )
# 4206 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_023 =
  fun aq attrs x ->
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4214 "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_024 =
  fun aq x ->
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4223 "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_025 =
  fun attrs x ->
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4232 "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_026 =
  fun x ->
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 4241 "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_027 =
  fun aq attrs id ->
    let x = 
# 862 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4250 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4255 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_028 =
  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
        
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4269 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4275 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4281 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_029 =
  fun aq attrs op ->
    let x =
      let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4291 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4296 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4302 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_030 =
  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
        
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4316 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4322 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4328 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_031 =
  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
        
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4342 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4348 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4354 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4369 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4375 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4381 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4387 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_033 =
  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
          
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4402 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4408 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4414 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4420 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4435 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4441 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4447 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4453 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 4468 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4474 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4480 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4486 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_036 =
  fun aq id ->
    let x = 
# 862 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4495 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4500 "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 op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4514 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4520 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4526 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_038 =
  fun aq op ->
    let x =
      let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4536 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4541 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4547 "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 op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4561 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4567 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4573 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_040 =
  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
        
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4587 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4593 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4599 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4614 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4620 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4626 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4632 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_042 =
  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
          
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4647 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4653 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4659 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4665 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4680 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4686 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4692 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4698 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 4713 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4719 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4725 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4731 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_045 =
  fun attrs id ->
    let x = 
# 862 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4740 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4745 "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_ attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4759 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4765 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4771 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_047 =
  fun attrs op ->
    let x =
      let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4781 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4786 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4792 "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_ attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4806 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4812 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4818 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_049 =
  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
        
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4832 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4838 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4844 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4859 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4865 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4871 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4877 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_051 =
  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
          
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4892 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4898 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4904 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4910 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4925 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4931 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4937 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4943 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 4958 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4964 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4970 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4976 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_054 =
  fun id ->
    let x = 
# 862 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4985 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 4990 "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_ op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5004 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5010 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5016 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_056 =
  fun op ->
    let x =
      let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5026 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5031 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5037 "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_ op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5051 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5057 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5063 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_058 =
  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
        
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5077 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5083 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5089 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5104 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5110 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5116 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5122 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_060 =
  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
          
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5137 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5143 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5149 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5155 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5170 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5176 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5182 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5188 "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 op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5203 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5209 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5215 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5221 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_063 =
  fun aq attrs x ->
    (
# 830 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 5230 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_064 =
  fun aq x ->
    (
# 831 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 5239 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_065 =
  fun attrs x ->
    (
# 832 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5248 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_066 =
  fun x ->
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5257 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_067 =
  fun k ->
    (
# 909 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( k )
# 5266 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_068 =
  fun t tacopt ->
    (
# 905 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                  ( t, tacopt )
# 5274 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option))

let _menhir_action_069 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 694 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        mk_pattern PatRest (rr _loc)
      )
# 5287 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_070 =
  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
    (
# 698 "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
      )
# 5304 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_071 =
  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
    (
# 704 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatList pats) (rr2 _loc__1_ _loc__3_) )
# 5314 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_072 =
  fun _endpos__3_ _startpos__1_ record_pat ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 706 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatRecord record_pat) (rr _loc) )
# 5325 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_073 =
  fun _endpos__5_ _startpos__1_ pat0 pats ->
    let _endpos = _endpos__5_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 708 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatTuple(pat0::pats, true)) (rr _loc) )
# 5336 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_074 =
  fun pat ->
    (
# 709 "fstar-guts/FStarC_Parser_Parse.mly"
                                     ( pat )
# 5344 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_075 =
  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
      
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5356 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5365 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_076 =
  fun _endpos__3_ _startpos__1_ op ->
    let op = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5373 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5381 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_077 =
  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
      
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5393 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5402 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_078 =
  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
      
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5414 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5423 "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 op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5436 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5442 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5451 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_080 =
  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
        
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5464 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5470 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5479 "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 op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5492 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5498 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5507 "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 op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5520 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5526 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 711 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5535 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_083 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 713 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatWild (None, [])) (rr _loc) )
# 5546 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_084 =
  fun _endpos__2_ _startpos__1_ ->
    let _endpos = _endpos__2_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 715 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatWild (Some Implicit, [])) (rr _loc) )
# 5557 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_085 =
  fun _endpos_c_ _startpos_c_ c ->
    let _loc_c_ = (_startpos_c_, _endpos_c_) in
    (
# 717 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatConst c) (rr _loc_c_) )
# 5566 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_086 =
  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
    (
# 719 "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 )
# 5586 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_087 =
  fun _endpos_q_ _startpos__1_ q ->
    let _endpos = _endpos_q_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 731 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatVQuote q) (rr _loc) )
# 5597 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_088 =
  fun _endpos_qual_id_ _startpos_qual_id_ qual_id ->
    let _loc_qual_id_ = (_startpos_qual_id_, _endpos_qual_id_) in
    (
# 733 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      let (aqual, attrs), lid = qual_id in
      mk_pattern (PatVar (lid, aqual, attrs)) (rr _loc_qual_id_) )
# 5608 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_089 =
  fun _endpos_uid_ _startpos_uid_ uid ->
    let _loc_uid_ = (_startpos_uid_, _endpos_uid_) in
    (
# 737 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatName uid) (rr _loc_uid_) )
# 5617 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_090 =
  fun x ->
    (
# 1459 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5625 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_091 =
  fun x ->
    (
# 1461 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5633 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_092 =
  fun x ->
    (
# 1463 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5641 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_093 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1497 "fstar-guts/FStarC_Parser_Parse.mly"
               ( mk_term Wild (rr _loc) Un )
# 5652 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_094 =
  fun _endpos_c_ _startpos_c_ c ->
    let _endpos = _endpos_c_ in
    let _startpos = _startpos_c_ in
    let _loc = (_startpos, _endpos) in
    (
# 1498 "fstar-guts/FStarC_Parser_Parse.mly"
               ( mk_term (Const c) (rr _loc) Expr )
# 5663 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_095 =
  fun x ->
    (
# 1500 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5671 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_096 =
  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
      
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5683 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5691 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_097 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ op ->
    let op = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5699 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5706 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_098 =
  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
      
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5718 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5726 "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
      
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5738 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5746 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_100 =
  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
        
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5759 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5765 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5773 "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 op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5786 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5792 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5800 "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 op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5813 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5819 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5827 "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
        
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5840 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5846 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5854 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_104 =
  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
    (
# 1504 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkDTuple (e0::el) (rr2 _loc__1_ _loc__5_) )
# 5864 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_105 =
  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
    (
# 1506 "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 )
# 5874 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_106 =
  fun e ->
    (
# 1508 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 5882 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_107 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 1486 "fstar-guts/FStarC_Parser_Parse.mly"
    (
        let t = Name id in
        let e = mk_term t (rr _loc_id_) Un in
              e
    )
# 5895 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_108 =
  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
    (
# 1492 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      mk_term (LetOpen (id, t)) (rr2 _loc_id_ _loc__4_) Expr
    )
# 5907 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_109 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1608 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term Wild (rr _loc) Expr )
# 5918 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_110 =
  fun _endpos_n_ _startpos_n_ n ->
    let _loc_n_ = (_startpos_n_, _endpos_n_) in
    (
# 1610 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        mk_term (Const (Const_int (n, None))) (rr _loc_n_) Expr
      )
# 5929 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_111 =
  fun u ->
    (
# 1613 "fstar-guts/FStarC_Parser_Parse.mly"
             ( mk_term (Uvar u) (range_of_id u) Expr )
# 5937 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_112 =
  fun u ->
    (
# 1615 "fstar-guts/FStarC_Parser_Parse.mly"
    ( u (*mk_term (Paren u) (rr2 $loc($1) $loc($3)) Expr*) )
# 5945 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_113 =
  fun lb ->
    let attr = 
# 123 "<standard.mly>"
    ( None )
# 5953 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 491 "fstar-guts/FStarC_Parser_Parse.mly"
    ( attr, lb )
# 5958 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_ option *
  (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))))

let _menhir_action_114 =
  fun lb x ->
    let attr = 
# 126 "<standard.mly>"
    ( Some x )
# 5967 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 491 "fstar-guts/FStarC_Parser_Parse.mly"
    ( attr, lb )
# 5972 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_ option *
  (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))))

let _menhir_action_115 =
  fun _endpos__3_ _startpos__1_ x ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 261 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let _ =
            match x with
            | _::_::_ ->
                  log_issue_text (rr _loc) Warning_DeprecatedAttributeSyntax old_attribute_syntax_warning
            | _ -> () in
         x
      )
# 5991 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

let _menhir_action_116 =
  fun l ->
    let x = 
# 1556 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 5999 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 270 "fstar-guts/FStarC_Parser_Parse.mly"
      ( x )
# 6004 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

let _menhir_action_117 =
  fun _endpos_aqualifiedWithAttrs_lid_ _startpos_aqualifiedWithAttrs_lid_ aqualifiedWithAttrs_lid ->
    let _loc_aqualifiedWithAttrs_lid_ = (_startpos_aqualifiedWithAttrs_lid_, _endpos_aqualifiedWithAttrs_lid_) in
    (
# 792 "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
     )
# 6016 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder))

let _menhir_action_118 =
  fun l ->
    let t = 
# 1556 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 6024 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 666 "fstar-guts/FStarC_Parser_Parse.mly"
                                               ( t )
# 6029 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

let _menhir_action_119 =
  fun bss ->
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
                                       ( flatten bss )
# 6037 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_120 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1361 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6048 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_121 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1362 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6059 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

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
    (
# 1363 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6070 "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
    (
# 1364 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("=", rr _loc) )
# 6081 "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
    (
# 1365 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6092 "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
    (
# 1366 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6103 "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
    (
# 1367 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6114 "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
    (
# 1368 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6125 "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
    (
# 1369 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6136 "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
    (
# 1370 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6147 "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
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("==>", rr _loc) )
# 6158 "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
    (
# 1372 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("/\\", rr _loc) )
# 6169 "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
    (
# 1373 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("\\/", rr _loc) )
# 6180 "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
    (
# 1374 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("<==>", rr _loc) )
# 6191 "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
    (
# 1375 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (":=", rr _loc) )
# 6202 "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
    (
# 1376 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("::", rr _loc) )
# 6213 "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
    (
# 1377 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6224 "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
    (
# 1378 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6235 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_138 =
  fun () ->
    (
# 134 "<standard.mly>"
    ( false )
# 6243 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_139 =
  fun () ->
    (
# 137 "<standard.mly>"
    ( true )
# 6251 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_140 =
  fun _endpos_i_ _startpos_i_ i ->
    let _loc_i_ = (_startpos_i_, _endpos_i_) in
    (
# 1147 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( mk_term (Op (i, [])) (rr _loc_i_) Expr )
# 6260 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_141 =
  fun _endpos__3_ _startpos__1_ id ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1148 "fstar-guts/FStarC_Parser_Parse.mly"
                                 ( mk_term (Var id) (rr _loc) Un )
# 6271 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_142 =
  fun t ->
    (
# 1149 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 6279 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_143 =
  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
    (
# 1153 "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)
     )
# 6296 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.calc_step))

let _menhir_action_144 =
  fun pats ->
    (
# 1190 "fstar-guts/FStarC_Parser_Parse.mly"
                                                              ( pats )
# 6304 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_145 =
  fun () ->
    (
# 1559 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Const_unit )
# 6312 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_146 =
  fun n ->
    (
# 1561 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        Const_int (n, None)
     )
# 6322 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_147 =
  fun c ->
    (
# 1564 "fstar-guts/FStarC_Parser_Parse.mly"
           ( Const_char c )
# 6330 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_148 =
  fun _endpos_s_ _startpos_s_ s ->
    let _endpos = _endpos_s_ in
    let _startpos = _startpos_s_ in
    let _loc = (_startpos, _endpos) in
    (
# 1565 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_string (s, rr _loc) )
# 6341 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_149 =
  fun () ->
    (
# 1566 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Const_bool true )
# 6349 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_150 =
  fun () ->
    (
# 1567 "fstar-guts/FStarC_Parser_Parse.mly"
          ( Const_bool false )
# 6357 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_151 =
  fun r ->
    (
# 1568 "fstar-guts/FStarC_Parser_Parse.mly"
           ( Const_real r )
# 6365 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_152 =
  fun n ->
    (
# 1569 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int8)) )
# 6373 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_153 =
  fun n ->
    (
# 1570 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int8)) )
# 6381 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_154 =
  fun n ->
    (
# 1571 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int16)) )
# 6389 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_155 =
  fun n ->
    (
# 1572 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int16)) )
# 6397 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_156 =
  fun n ->
    (
# 1573 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int32)) )
# 6405 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_157 =
  fun n ->
    (
# 1574 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int32)) )
# 6413 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_158 =
  fun n ->
    (
# 1575 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int64)) )
# 6421 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_159 =
  fun n ->
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int64)) )
# 6429 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_160 =
  fun n ->
    (
# 1577 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Sizet)) )
# 6437 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_161 =
  fun () ->
    (
# 1579 "fstar-guts/FStarC_Parser_Parse.mly"
            ( Const_reify None )
# 6445 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_162 =
  fun () ->
    (
# 1580 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( Const_range_of )
# 6453 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_163 =
  fun () ->
    (
# 1581 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( Const_set_range_of )
# 6461 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_164 =
  fun payload uid ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 6469 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 487 "fstar-guts/FStarC_Parser_Parse.mly"
    ( uid, payload, none_to_empty_list attrs_opt )
# 6474 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name *
  FStarC_Parser_AST.constructor_payload option *
  FStarC_Parser_AST.attributes_))

let _menhir_action_165 =
  fun payload uid x ->
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 6484 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 487 "fstar-guts/FStarC_Parser_Parse.mly"
    ( uid, payload, none_to_empty_list attrs_opt )
# 6489 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name *
  FStarC_Parser_AST.constructor_payload option *
  FStarC_Parser_AST.attributes_))

let _menhir_action_166 =
  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
    (
# 683 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (consPat (rr _loc_pats_) pat pats) (rr _loc) )
# 6503 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_167 =
  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
    (
# 685 "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)
      )
# 6518 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_168 =
  fun pat ->
    (
# 690 "fstar-guts/FStarC_Parser_Parse.mly"
      ( pat )
# 6526 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_169 =
  fun e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6535 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 6540 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 479 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpArbitrary  t)
# 6546 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_170 =
  fun e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6555 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 6560 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 480 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpOfNotation t)
# 6566 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_171 =
  fun opt record_field_decls ->
    let fields = 
# 458 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 6574 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 481 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpRecord(fields, opt))
# 6579 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_172 =
  fun _endpos_e_ _startpos__1_ e lid ->
    let phi = 
# 1403 "fstar-guts/FStarC_Parser_Parse.mly"
                ( {e with level=Formula} )
# 6587 "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
    (
# 282 "fstar-guts/FStarC_Parser_Parse.mly"
      ( [mk_decl (Assume(lid, phi)) (rr _loc) [ Qualifier Assumption ]] )
# 6596 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_173 =
  fun _endpos_blob_ _startpos_blob_ blob ->
    let _endpos = _endpos_blob_ in
    let _startpos = _startpos_blob_ in
    let _loc = (_startpos, _endpos) in
    (
# 285 "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
      )
# 6616 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_174 =
  fun _endpos_decl_ _startpos_decl_ decl ds ->
    let _loc_decl_ = (_startpos_decl_, _endpos_decl_) in
    (
# 297 "fstar-guts/FStarC_Parser_Parse.mly"
      ( [mk_decl decl (rr _loc_decl_) ds] )
# 6625 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_175 =
  fun _endpos_decl_ _startpos_decl_ decl ds ->
    let _loc_decl_ = (_startpos_decl_, _endpos_decl_) in
    (
# 300 "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 }]
      )
# 6637 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_176 =
  fun x ->
    (
# 275 "fstar-guts/FStarC_Parser_Parse.mly"
      ( DeclAttributes x )
# 6645 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration))

let _menhir_action_177 =
  fun x ->
    (
# 277 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Qualifier x )
# 6653 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration))

let _menhir_action_178 =
  fun pats ->
    (
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
                                                              ( pats )
# 6661 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_179 =
  fun pats ->
    (
# 674 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    ( pats )
# 6669 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_180 =
  fun _endpos_e_ _startpos_lid_ action_params e lid ->
    let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6677 "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
    (
# 573 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_decl (Tycon (false, false, [TyconAbbrev(lid, action_params, None, t)])) (rr _loc) [] )
# 6686 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl))

let _menhir_action_181 =
  fun bs eds lid typ ->
    (
# 542 "fstar-guts/FStarC_Parser_Parse.mly"
    ( DefineEffect(lid, bs, typ, eds) )
# 6694 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_182 =
  fun e lid ->
    let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6702 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 536 "fstar-guts/FStarC_Parser_Parse.mly"
    ( RedefineEffect(lid, [], t) )
# 6707 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_183 =
  fun x y ->
    let p = 
# 180 "<standard.mly>"
    ( (x, y) )
# 6715 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 741 "fstar-guts/FStarC_Parser_Parse.mly"
      ( p )
# 6720 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern))

let _menhir_action_184 =
  fun _endpos_lid_ _startpos_lid_ lid ->
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    (
# 743 "fstar-guts/FStarC_Parser_Parse.mly"
      ( lid, mk_pattern (PatVar (ident_of_lid lid, None, [])) (rr _loc_lid_) )
# 6729 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern))

let _menhir_action_185 =
  fun () ->
    (
# 1552 "fstar-guts/FStarC_Parser_Parse.mly"
            ( Type_level )
# 6737 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.level))

let _menhir_action_186 =
  fun d snap ->
    (
# 196 "fstar-guts/FStarC_Parser_Parse.mly"
     ( d, snap )
# 6745 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option))

let _menhir_action_187 =
  fun x ->
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
             ( x )
# 6753 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_188 =
  fun x ->
    (
# 853 "fstar-guts/FStarC_Parser_Parse.mly"
              ( x )
# 6761 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_189 =
  fun () ->
    (
# 876 "fstar-guts/FStarC_Parser_Parse.mly"
       (None)
# 6769 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_190 =
  fun _endpos_op_ _startpos_op_ op ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    (
# 877 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Some (mk_ident ("let" ^ op, rr _loc_op_)) )
# 6778 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_191 =
  fun e1 op_exprs ->
    (
# 1448 "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
      )
# 6790 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_192 =
  fun e ->
    (
# 1454 "fstar-guts/FStarC_Parser_Parse.mly"
    ( e )
# 6798 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_193 =
  fun decls ->
    (
# 186 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        as_frag (List.flatten decls)
      )
# 6808 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.inputFragment))

let _menhir_action_194 =
  fun t ->
    (
# 913 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( {t with level=Kind} )
# 6816 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_195 =
  fun bs lid r ->
    (
# 546 "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) )
# 6847 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_196 =
  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 = 
# 862 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 6855 "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
    (
# 512 "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))
      )
# 6872 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_197 =
  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
        
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 6885 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 6891 "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
    (
# 512 "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))
      )
# 6909 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_198 =
  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 = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 6918 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 6923 "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
    (
# 512 "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))
      )
# 6941 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_199 =
  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
        
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 6954 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 6960 "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
    (
# 512 "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))
      )
# 6978 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_200 =
  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
        
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 6991 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 6997 "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
    (
# 512 "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))
      )
# 7015 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_201 =
  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
          
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 7029 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 7035 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7041 "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
    (
# 512 "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))
      )
# 7059 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_202 =
  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
          
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 7073 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 7079 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7085 "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
    (
# 512 "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))
      )
# 7103 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_203 =
  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
          
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 7117 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 7123 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7129 "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
    (
# 512 "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))
      )
# 7147 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_204 =
  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
          
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 7161 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 7167 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7173 "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
    (
# 512 "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))
      )
# 7191 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_205 =
  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
    (
# 521 "fstar-guts/FStarC_Parser_Parse.mly"
      ( focus_opt, (mk_pattern (PatAscribed(pat, ascr)) (rr2 _loc_focus_opt_ _loc_eq_), tm) )
# 7201 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_206 =
  fun focus_opt pat tm ->
    (
# 523 "fstar-guts/FStarC_Parser_Parse.mly"
      ( focus_opt, (pat, tm) )
# 7209 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_207 =
  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
    (
# 495 "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"
    )
# 7232 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))

let _menhir_action_208 =
  fun () ->
    (
# 652 "fstar-guts/FStarC_Parser_Parse.mly"
                ( Rec )
# 7240 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.let_qualifier))

let _menhir_action_209 =
  fun () ->
    (
# 653 "fstar-guts/FStarC_Parser_Parse.mly"
                ( NoLetQualifier )
# 7248 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.let_qualifier))

let _menhir_action_210 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 886 "fstar-guts/FStarC_Parser_Parse.mly"
             ( mk_ident(id, rr _loc_id_))
# 7257 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_211 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 881 "fstar-guts/FStarC_Parser_Parse.mly"
             ( mk_ident(id, rr _loc_id_))
# 7266 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_212 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 882 "fstar-guts/FStarC_Parser_Parse.mly"
               ( gen (rr _loc) )
# 7277 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_213 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7285 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))
  list))

let _menhir_action_214 =
  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
        
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 7300 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1036 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                           ((op, b))
# 7306 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7312 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))
  list))

let _menhir_action_215 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7322 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var list))

let _menhir_action_216 =
  fun id xs ->
    let x = 
# 1505 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    (id)
# 7330 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7335 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var list))

let _menhir_action_217 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7343 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list list))

let _menhir_action_218 =
  fun bs xs ->
    let x = 
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
                                 (bs)
# 7351 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7356 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list list))

let _menhir_action_219 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7364 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_220 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7372 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_221 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7380 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.attributes_ option *
   (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))
  list))

let _menhir_action_222 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7390 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.attributes_ option *
   (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))
  list))

let _menhir_action_223 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7400 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.calc_step list))

let _menhir_action_224 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7408 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.calc_step list))

let _menhir_action_225 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7416 "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_226 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7427 "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_227 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7438 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list list))

let _menhir_action_228 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7446 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list list))

let _menhir_action_229 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7454 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration list))

let _menhir_action_230 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7462 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration list))

let _menhir_action_231 =
  fun () ->
    (
# 943 "fstar-guts/FStarC_Parser_Parse.mly"
           ( LocalRec )
# 7470 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.local_let_qualifier))

let _menhir_action_232 =
  fun () ->
    (
# 944 "fstar-guts/FStarC_Parser_Parse.mly"
           ( LocalUnfold )
# 7478 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.local_let_qualifier))

let _menhir_action_233 =
  fun () ->
    (
# 945 "fstar-guts/FStarC_Parser_Parse.mly"
           ( LocalNoLetQualifier )
# 7486 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.local_let_qualifier))

let _menhir_action_234 =
  fun () ->
    (
# 872 "fstar-guts/FStarC_Parser_Parse.mly"
          (None)
# 7494 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_235 =
  fun _endpos_op_ _startpos_op_ op ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    (
# 873 "fstar-guts/FStarC_Parser_Parse.mly"
                ( Some (mk_ident ("let" ^ op, rr _loc_op_)) )
# 7503 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_236 =
  fun as_opt t ->
    (
# 939 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   (as_opt,t,false)
# 7511 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool))

let _menhir_action_237 =
  fun as_opt t ->
    (
# 940 "fstar-guts/FStarC_Parser_Parse.mly"
                                                      (as_opt,t,true)
# 7519 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool))

let _menhir_action_238 =
  fun b ->
    (
# 649 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( b )
# 7527 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_239 =
  fun () ->
    (
# 1196 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( false )
# 7535 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_240 =
  fun () ->
    (
# 1197 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( true )
# 7543 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_241 =
  fun constraints ->
    (
# 800 "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
      )
# 7556 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_242 =
  fun _endpos__6_ _startpos__1_ qual_ids r t ->
    let _endpos = _endpos__6_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 808 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let should_bind_var = match qual_ids with | [ _ ] -> true | _ -> false in
       let n = List.length qual_ids in
       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
     )
# 7574 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_243 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 818 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      let r = rr _loc in
      let unit_t = mk_term (Var (lid_of_ids [(mk_ident("unit", r))])) r Un in
      [mk_binder (Annotated (gen r, unit_t)) r Un None]
    )
# 7589 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_244 =
  fun b ->
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
             ( [b] )
# 7597 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_245 =
  fun ed ->
    (
# 532 "fstar-guts/FStarC_Parser_Parse.mly"
    ( ed )
# 7605 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_246 =
  fun ed ->
    (
# 532 "fstar-guts/FStarC_Parser_Parse.mly"
    ( ed )
# 7613 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_247 =
  fun e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 7622 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 7627 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 949 "fstar-guts/FStarC_Parser_Parse.mly"
           ( t )
# 7633 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_248 =
  fun _endpos_e_ _startpos_e_ e t ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 951 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Ascribed(e,{t with level=Expr},None,false)) (rr _loc_e_) Expr )
# 7642 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_249 =
  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
    (
# 953 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Ascribed(e,{t with level=Expr},Some tactic,false)) (rr2 _loc_e_ _loc_tactic_) Expr )
# 7652 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_250 =
  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
    (
# 955 "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
      )
# 7668 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_251 =
  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
    (
# 961 "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
      )
# 7685 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_252 =
  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
      
# 1653 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".()", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7697 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 967 "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
      )
# 7709 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_253 =
  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
      
# 1654 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".[]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7721 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 967 "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
      )
# 7733 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_254 =
  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
      
# 1655 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( mk_ident (".[||]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7745 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 967 "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
      )
# 7757 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_255 =
  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
      
# 1656 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( mk_ident (".(||)", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7769 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 967 "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
      )
# 7781 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_256 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 7790 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 7795 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 973 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Requires t) (rr2 _loc__1_ _loc_t_) Type_level )
# 7804 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_257 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 7813 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 7818 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 975 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Ensures t) (rr2 _loc__1_ _loc_t_) Type_level )
# 7827 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_258 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 7836 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 7841 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 977 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Decreases t) (rr2 _loc__1_ _loc_t_) Type_level )
# 7850 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_259 =
  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
    (
# 985 "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"
      )
# 7868 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_260 =
  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
    (
# 995 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Attributes es) (rr2 _loc__1_ _loc_es_) Type_level )
# 7878 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_261 =
  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
    (
# 997 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (If(e1, op, ret_opt, e2, e3)) (rr2 _loc_op_ _loc_e3_) Expr )
# 7888 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_262 =
  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
    (
# 999 "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
      )
# 7901 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_263 =
  fun _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ e1 xs ->
    let pbs = 
# 1690 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 7909 "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
    (
# 1004 "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
      )
# 7920 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_264 =
  fun _endpos_op_ _endpos_xs_ _startpos_op_ _startpos_xs_ e op ret_opt xs ->
    let pbs = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 7928 "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
    (
# 1009 "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
      )
# 7939 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_265 =
  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
    (
# 1014 "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'`"
      )
# 7963 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_266 =
  fun _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q ->
    let attrs = 
# 123 "<standard.mly>"
    ( None )
# 7971 "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
    (
# 1031 "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
      )
# 7986 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_267 =
  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 )
# 7994 "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
    (
# 1031 "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
      )
# 8009 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_268 =
  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
      
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 8021 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1037 "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
    )
# 8032 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_269 =
  fun _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ xs ->
    let pbs = 
# 1690 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 8040 "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
    (
# 1042 "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_)
      )
# 8054 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_270 =
  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
    (
# 1047 "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)
      )
# 8068 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_271 =
  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
    (
# 1052 "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)
      )
# 8083 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_272 =
  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
    (
# 1058 "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)
      )
# 8098 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_273 =
  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
    (
# 1064 "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)
     )
# 8113 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_274 =
  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
    (
# 1070 "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)
     )
# 8128 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_275 =
  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
    (
# 1076 "fstar-guts/FStarC_Parser_Parse.mly"
     (
         mk_term (CalcProof (rel, init, steps)) (rr2 _loc__1_ _loc__7_) Expr
     )
# 8140 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_276 =
  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
    (
# 1081 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (IntroForall(bs, p, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8152 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_277 =
  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
    (
# 1086 "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
     )
# 8167 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_278 =
  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
    (
# 1093 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (IntroImplies(p, q, y, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8179 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_279 =
  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
    (
# 1098 "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
     )
# 8197 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_280 =
  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
    (
# 1108 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (IntroAnd(p, q, e1, e2))  (rr2 _loc__1_ _loc_e2_) Expr
     )
# 8209 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_281 =
  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
    (
# 1113 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimForall(xs, p, vs)) (rr2 _loc__1_ _loc_vs_) Expr
     )
# 8221 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_282 =
  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
    (
# 1118 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimExists(bs, p, q, y, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8233 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_283 =
  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
    (
# 1123 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimImplies(p, q, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8245 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_284 =
  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
    (
# 1128 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimOr(p, q, r, x, e1, y, e2)) (rr2 _loc__1_ _loc_e2_) Expr
     )
# 8257 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_285 =
  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
    (
# 1133 "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
     )
# 8270 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_286 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8278 "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_287 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8288 "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_288 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8298 "fstar-guts/FStarC_Parser_Parse.ml"
     : (((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
   FStarC_Syntax_Syntax.univ_name)
  list))

let _menhir_action_289 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8308 "fstar-guts/FStarC_Parser_Parse.ml"
     : (((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
   FStarC_Syntax_Syntax.univ_name)
  list))

let _menhir_action_290 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8318 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_291 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8326 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_292 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8334 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_293 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8342 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_294 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8350 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_295 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8358 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_296 =
  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
      
# 1653 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".()", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8369 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8375 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_297 =
  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
      
# 1654 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".[]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8388 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8394 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_298 =
  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
      
# 1655 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( mk_ident (".[||]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8407 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8413 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_299 =
  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
      
# 1656 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( mk_ident (".(||)", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8426 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8432 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_300 =
  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
      
# 1653 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".()", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8445 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8451 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_301 =
  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
      
# 1654 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".[]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8464 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8470 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_302 =
  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
      
# 1655 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( mk_ident (".[||]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8483 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8489 "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 xs ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1656 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( mk_ident (".(||)", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8502 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8508 "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 x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8518 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list list))

let _menhir_action_305 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8526 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list list))

let _menhir_action_306 =
  fun () ->
    (
# 191 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 8534 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option) option))

let _menhir_action_307 =
  fun ds ->
    (
# 192 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Some ds )
# 8542 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option) option))

let _menhir_action_308 =
  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
    (
# 1473 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Abs(flatten pats, e)) (rr2 _loc__1_ _loc_e_) Un )
# 8552 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_309 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e trigger ->
    let q = 
# 1168 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QForall x )
# 8560 "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
    (
# 1475 "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
      )
# 8576 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_310 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e trigger ->
    let q = 
# 1169 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QExists x)
# 8584 "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
    (
# 1475 "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
      )
# 8600 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_311 =
  fun _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op trigger ->
    let q =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      
# 1171 "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)
    )
# 8613 "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
    (
# 1475 "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
      )
# 8630 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_312 =
  fun _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op trigger ->
    let q =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      
# 1176 "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)
    )
# 8643 "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
    (
# 1475 "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
      )
# 8660 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_313 =
  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
    (
# 1513 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e])) (rr2 _loc_op_ _loc_e_) Expr )
# 8670 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_314 =
  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
    (
# 1513 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e])) (rr2 _loc_op_ _loc_e_) Expr )
# 8680 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_315 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 8688 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_316 =
  fun id ->
    let x =
      let id = 
# 867 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 8697 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8702 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8708 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_317 =
  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
          
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 8722 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8728 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8734 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8740 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_318 =
  fun op ->
    let x =
      let id =
        let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 8750 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8755 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8761 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8767 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_319 =
  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
          
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 8781 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8787 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8793 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8799 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_320 =
  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
          
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 8813 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8819 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8825 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8831 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_321 =
  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
            
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 8846 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 8852 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8858 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8864 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8870 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_322 =
  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
            
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 8885 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 8891 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8897 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8903 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8909 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_323 =
  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
            
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 8924 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 8930 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8936 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8942 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8948 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_324 =
  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
            
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 8963 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 8969 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8975 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8981 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8987 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_325 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 8995 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_326 =
  fun i ->
    let x = 
# 940 "fstar-guts/FStarC_Parser_Parse.mly"
                              (i)
# 9003 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9008 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_327 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9016 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_328 =
  fun e ->
    let x =
      let phi = 
# 1403 "fstar-guts/FStarC_Parser_Parse.mly"
                ( {e with level=Formula} )
# 9025 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1400 "fstar-guts/FStarC_Parser_Parse.mly"
                                             (phi)
# 9030 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9036 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_329 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9044 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_330 =
  fun e ->
    let x =
      let t =
        let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9054 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 9059 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 422 "fstar-guts/FStarC_Parser_Parse.mly"
                                               (t)
# 9065 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9071 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_331 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9079 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_332 =
  fun e ->
    let x =
      let t =
        let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9089 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 9094 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 481 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   (t)
# 9100 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9106 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_333 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9114 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_334 =
  fun tm ->
    let x = 
# 494 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                   (tm)
# 9122 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9127 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_335 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9135 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_336 =
  fun tactic ->
    let x = 
# 905 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        (tactic)
# 9143 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9148 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_337 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9156 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_338 =
  fun i ->
    let x = 
# 939 "fstar-guts/FStarC_Parser_Parse.mly"
                              (i)
# 9164 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9169 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_339 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9177 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_340 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9185 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_341 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9193 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) option))

let _menhir_action_342 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9201 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) option))

let _menhir_action_343 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9209 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload option))

let _menhir_action_344 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9217 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload option))

let _menhir_action_345 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9225 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool)
  option))

let _menhir_action_346 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9234 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool)
  option))

let _menhir_action_347 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9243 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.level * FStarC_Parser_AST.typ) option))

let _menhir_action_348 =
  fun e x ->
    let x =
      let y = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9252 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 172 "<standard.mly>"
    ( (x, y) )
# 9257 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9263 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.level * FStarC_Parser_AST.typ) option))

let _menhir_action_349 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9271 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string option))

let _menhir_action_350 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9279 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string option))

let _menhir_action_351 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9287 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_352 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9295 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_353 =
  fun id ->
    (
# 848 "fstar-guts/FStarC_Parser_Parse.mly"
          ( [id] )
# 9303 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_354 =
  fun p uid ->
    (
# 849 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( uid::p )
# 9311 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_355 =
  fun id ->
    (
# 848 "fstar-guts/FStarC_Parser_Parse.mly"
          ( [id] )
# 9319 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_356 =
  fun p uid ->
    (
# 849 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( uid::p )
# 9327 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_357 =
  fun _endpos_pat_ _startpos_pat_ e focus pat ->
    let when_opt = 
# 1210 "fstar-guts/FStarC_Parser_Parse.mly"
                         ( None )
# 9335 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    (
# 1201 "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))
      )
# 9347 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool *
  (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
   FStarC_Parser_AST.typ)))

let _menhir_action_358 =
  fun _endpos_pat_ _startpos_pat_ e e_inlined1 focus pat ->
    let when_opt =
      let e = e_inlined1 in
      
# 1211 "fstar-guts/FStarC_Parser_Parse.mly"
                         ( Some e )
# 9359 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    (
# 1201 "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))
      )
# 9372 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool *
  (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
   FStarC_Parser_AST.typ)))

let _menhir_action_359 =
  fun constraints ->
    (
# 760 "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
      )
# 9389 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_360 =
  fun pat ->
    (
# 769 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( [pat] )
# 9397 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_361 =
  fun _endpos__7_ _endpos_t_ _startpos__1_ _startpos_t_ qual_id0 qual_ids r t ->
    let _endpos = _endpos__7_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc = (_startpos, _endpos) in
    (
# 776 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pos = rr _loc in
        let t_pos = rr _loc_t_ in
        let qual_ids = qual_id0 :: qual_ids in
        let n = List.length qual_ids in
        List.mapi (fun idx ((aq, attrs), x) ->
          let pat = mk_pattern (PatVar (x, aq, attrs)) pos in
          (* Only the last binder carries the refinement, if any. *)
          let refine_opt = if idx = Int.sub n 1 then r else None in
          (*                    ^ The - symbol resolves to F* addition. *)
          mkRefinedPattern pat t true refine_opt t_pos pos
        ) qual_ids
      )
# 9421 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_362 =
  fun e m_eff n_eff p_eff ->
    let bind = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9429 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 607 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (m_eff, n_eff, p_eff, bind) )
# 9434 "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_363 =
  fun e m_eff n_eff ->
    let subcomp = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9443 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 611 "fstar-guts/FStarC_Parser_Parse.mly"
    ( (m_eff, n_eff, subcomp) )
# 9448 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ))

let _menhir_action_364 =
  fun () ->
    (
# 243 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ShowOptions )
# 9456 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_365 =
  fun s ->
    (
# 245 "fstar-guts/FStarC_Parser_Parse.mly"
      ( SetOptions s )
# 9464 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_366 =
  fun s_opt ->
    (
# 247 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ResetOptions s_opt )
# 9472 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_367 =
  fun s_opt ->
    (
# 249 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PushOptions s_opt )
# 9480 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_368 =
  fun () ->
    (
# 251 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PopOptions )
# 9488 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_369 =
  fun () ->
    (
# 253 "fstar-guts/FStarC_Parser_Parse.mly"
      ( RestartSolver )
# 9496 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_370 =
  fun () ->
    (
# 255 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PrintEffectsGraph )
# 9504 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_371 =
  fun t ->
    (
# 257 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Check t )
# 9512 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_372 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9520 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_373 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9528 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_374 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9536 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_375 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9544 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_376 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9552 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_377 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9560 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_378 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9568 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_379 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9576 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_380 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 1518 "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
      )
# 9588 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_381 =
  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
    (
# 1524 "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)
      )
# 9610 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_382 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1556 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9618 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1538 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkListLit (rr2 _loc__1_ _loc__3_) es )
# 9625 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_383 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1556 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9633 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1540 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkSeqLit (rr2 _loc__1_ _loc__3_) es )
# 9640 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_384 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1556 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9648 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1542 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (LexList es) (rr2 _loc__1_ _loc__3_) Type_level )
# 9655 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_385 =
  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
    (
# 1544 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkRefSet (rr2 _loc__1_ _loc__3_) es )
# 9665 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_386 =
  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
    (
# 1546 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Projector (ns, id)) (rr2 _loc_ns_ _loc_id_) Expr )
# 9675 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_387 =
  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
    (
# 1548 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Discrim lid) (rr2 _loc_lid_ _loc__2_) Un )
# 9685 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_388 =
  fun ids ->
    (
# 841 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( lid_of_ids ids )
# 9693 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_389 =
  fun qid ->
    (
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
                ( qid )
# 9701 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_390 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 9713 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9719 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_391 =
  fun op ->
    let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 9727 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9732 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_392 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 9744 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9750 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_393 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 9762 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9768 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_394 =
  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
        
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 9781 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 9787 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9793 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_395 =
  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
        
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 9806 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 9812 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9818 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_396 =
  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
        
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 9831 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 9837 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9843 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_397 =
  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
        
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 9856 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 9862 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9868 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_398 =
  fun () ->
    (
# 619 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Assumption )
# 9876 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_399 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 620 "fstar-guts/FStarC_Parser_Parse.mly"
                  (
    raise_error_text (rr _loc) Fatal_InlineRenamedAsUnfold
      "The 'inline' qualifier has been renamed to 'unfold'"
  )
# 9890 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_400 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 624 "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"
  )
# 9904 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_401 =
  fun () ->
    (
# 628 "fstar-guts/FStarC_Parser_Parse.mly"
                          (
     Inline_for_extraction
  )
# 9914 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_402 =
  fun () ->
    (
# 631 "fstar-guts/FStarC_Parser_Parse.mly"
           (
     Unfold_for_unification_and_vcgen
  )
# 9924 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_403 =
  fun () ->
    (
# 634 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Irreducible )
# 9932 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_404 =
  fun () ->
    (
# 635 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( NoExtract )
# 9940 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_405 =
  fun () ->
    (
# 636 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( TotalEffect )
# 9948 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_406 =
  fun () ->
    (
# 637 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Private )
# 9956 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_407 =
  fun () ->
    (
# 639 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Noeq )
# 9964 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_408 =
  fun () ->
    (
# 640 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Unopteq )
# 9972 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_409 =
  fun () ->
    (
# 641 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( New )
# 9980 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_410 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 642 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( log_issue_text (rr _loc) Warning_logicqualifier logic_qualifier_deprecation_warning;
                    Logic )
# 9992 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_411 =
  fun () ->
    (
# 644 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Opaque )
# 10000 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_412 =
  fun () ->
    (
# 645 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Reifiable )
# 10008 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_413 =
  fun () ->
    (
# 646 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Reflectable )
# 10016 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_414 =
  fun ids ->
    (
# 845 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( lid_of_ids ids )
# 10024 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_415 =
  fun p ->
    (
# 381 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Pragma p )
# 10032 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_416 =
  fun r uid ->
    (
# 383 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Open (uid, r) )
# 10040 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_417 =
  fun uid ->
    (
# 385 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Friend uid )
# 10048 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_418 =
  fun r uid ->
    (
# 387 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Include (uid, r) )
# 10056 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_419 =
  fun uid ->
    (
# 389 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Open (uid, FStarC_Syntax_Syntax.AllowList []) )
# 10064 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_420 =
  fun uid1 uid2 ->
    (
# 391 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ModuleAbbrev(uid1, uid2) )
# 10072 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_421 =
  fun _endpos_q_ _startpos_q_ q ->
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    (
# 393 "fstar-guts/FStarC_Parser_Parse.mly"
      ( raise_error_text (rr _loc_q_) Fatal_SyntaxError "Syntax error: expected a module name" )
# 10081 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_422 =
  fun uid ->
    (
# 395 "fstar-guts/FStarC_Parser_Parse.mly"
      (  TopLevelModule uid )
# 10089 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_423 =
  fun tcdefs ->
    (
# 397 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Tycon (false, false, tcdefs) )
# 10097 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_424 =
  fun e tparams uid ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10106 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10111 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 399 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Tycon(true, false, [(TyconAbbrev(uid, tparams, None, t))]) )
# 10117 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_425 =
  fun _endpos_lbs_ _startpos__1_ lbs q ->
    let _endpos = _endpos_lbs_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 401 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let r = rr _loc in
        let lbs = focusLetBindings lbs r in
        TopLevelLet(q, lbs)
      )
# 10132 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_426 =
  fun _endpos_c_ _startpos__1_ c ->
    let _endpos = _endpos_c_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 407 "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"
      )
# 10146 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_427 =
  fun _endpos_bs_ _endpos_e_ _startpos_bs_ _startpos_e_ bs e id ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10155 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10160 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid = 
# 862 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 10167 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10179 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_428 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10188 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10193 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10205 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10211 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10224 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_429 =
  fun _endpos_bs_ _endpos_e_ _startpos_bs_ _startpos_e_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10233 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10238 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 10246 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10251 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10264 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_430 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10273 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10278 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10290 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10296 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10309 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_431 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10318 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10323 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 10335 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10341 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10354 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_432 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10363 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10368 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 10381 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10387 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10393 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10406 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_433 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10415 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10420 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 10433 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10439 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "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
    (
# 412 "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_434 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10467 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10472 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 10485 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10491 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10497 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10510 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_435 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10519 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10524 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 10537 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10543 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10549 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 412 "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)
      )
# 10562 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_436 =
  fun ids t ->
    (
# 419 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Splice (false, ids, t) )
# 10570 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_437 =
  fun ids t ->
    (
# 421 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Splice (true, ids, t) )
# 10578 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_438 =
  fun lid t_opt ->
    (
# 423 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Exception(lid, t_opt) )
# 10586 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_439 =
  fun ne ->
    (
# 425 "fstar-guts/FStarC_Parser_Parse.mly"
      ( NewEffect ne )
# 10594 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_440 =
  fun ne ->
    (
# 427 "fstar-guts/FStarC_Parser_Parse.mly"
      ( LayeredEffect ne )
# 10602 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_441 =
  fun ne ->
    (
# 429 "fstar-guts/FStarC_Parser_Parse.mly"
      ( LayeredEffect ne )
# 10610 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_442 =
  fun se ->
    (
# 431 "fstar-guts/FStarC_Parser_Parse.mly"
      ( SubEffect se )
# 10618 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_443 =
  fun b ->
    (
# 433 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Polymonadic_bind b )
# 10626 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_444 =
  fun c ->
    (
# 435 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Polymonadic_subcomp c )
# 10634 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_445 =
  fun _endpos_blob_ _startpos_blob_ blob ->
    let _endpos = _endpos_blob_ in
    let _startpos = _startpos_blob_ in
    let _loc = (_startpos, _endpos) in
    (
# 437 "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
      )
# 10653 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_446 =
  fun _endpos_record_fields_ _startpos_record_fields_ record_fields ->
    let _loc_record_fields_ = (_startpos_record_fields_, _endpos_record_fields_) in
    (
# 1408 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Record (None, record_fields)) (rr _loc_record_fields_) Expr )
# 10662 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_447 =
  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
    (
# 1410 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Record (Some e, record_fields)) (rr2 _loc_e_ _loc_record_fields_) Expr )
# 10672 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_448 =
  fun e qualified_lid ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10681 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10686 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 473 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let (qual, attrs), lid = qualified_lid in
        (lid, qual, attrs, t)
      )
# 10695 "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_449 =
  fun phi_opt ->
    (
# 1400 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    (phi_opt)
# 10704 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_450 =
  fun ids ->
    (
# 376 "fstar-guts/FStarC_Parser_Parse.mly"
      ( FStarC_Syntax_Syntax.AllowList ids )
# 10712 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.restriction))

let _menhir_action_451 =
  fun () ->
    (
# 377 "fstar-guts/FStarC_Parser_Parse.mly"
      ( FStarC_Syntax_Syntax.Unrestricted  )
# 10720 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.restriction))

let _menhir_action_452 =
  fun () ->
    (
# 1672 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [] )
# 10728 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_453 =
  fun pb ->
    let x = 
# 1008 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                             (pb)
# 10739 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1674 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 10744 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_454 =
  fun pb xs ->
    let x = 
# 1008 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                             (pb)
# 10755 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1676 "fstar-guts/FStarC_Parser_Parse.mly"
   ( x :: xs )
# 10760 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_455 =
  fun x ->
    let _1 = 
# 123 "<standard.mly>"
    ( None )
# 10771 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 10776 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_456 =
  fun x x_inlined1 ->
    let _1 =
      let x = x_inlined1 in
      
# 126 "<standard.mly>"
    ( Some x )
# 10789 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 10795 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_457 =
  fun x xs ->
    (
# 1686 "fstar-guts/FStarC_Parser_Parse.mly"
   ( x :: xs )
# 10806 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_458 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 10817 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_459 =
  fun id renamed ->
    let x =
      let id = 
# 867 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 10826 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10831 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10837 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_460 =
  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
          
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10851 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10857 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10863 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10869 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_461 =
  fun op renamed ->
    let x =
      let id =
        let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 10879 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10884 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10890 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10896 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_462 =
  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
          
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10910 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10916 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10922 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10928 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_463 =
  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
          
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 10942 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10948 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10954 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10960 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_464 =
  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
            
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 10975 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10981 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10987 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10993 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10999 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_465 =
  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
            
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 11014 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11020 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11026 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11032 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11038 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_466 =
  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
            
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 11053 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11059 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11065 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11071 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11077 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_467 =
  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
            
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 11092 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11098 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11104 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11110 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11116 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_468 =
  fun id renamed xs ->
    let x =
      let id = 
# 867 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 11125 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11130 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11136 "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 xs ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11150 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11156 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11162 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11168 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_470 =
  fun op renamed xs ->
    let x =
      let id =
        let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 11178 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11183 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11189 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11195 "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 xs ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11209 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11215 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11221 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11227 "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 xs ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 11241 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11247 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11253 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11259 "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 xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 11274 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11280 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11286 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11292 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11298 "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 xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 11313 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11319 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11325 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11331 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11337 "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 xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 11352 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11358 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11364 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11370 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11376 "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 xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 11391 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11397 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 869 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11403 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 375 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11409 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11415 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_477 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11423 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_478 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11431 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_479 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11439 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_480 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11447 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_481 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11455 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_482 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11463 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_483 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11471 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern) list))

let _menhir_action_484 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11479 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern) list))

let _menhir_action_485 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11487 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern) list))

let _menhir_action_486 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11495 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_487 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11503 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_488 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11511 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_489 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11519 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_490 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11527 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_491 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11535 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_492 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11543 "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_493 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11553 "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_494 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11563 "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_495 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11573 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_496 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11581 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_497 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11589 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_498 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11597 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_499 =
  fun x ->
    (
# 1663 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11605 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_500 =
  fun x xs ->
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11613 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_501 =
  fun x ->
    (
# 1667 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11621 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_502 =
  fun x xs ->
    (
# 1668 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11629 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_503 =
  fun x ->
    (
# 1667 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11637 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon_record))

let _menhir_action_504 =
  fun x xs ->
    (
# 1668 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11645 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon_record))

let _menhir_action_505 =
  fun x ->
    (
# 1667 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11653 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_506 =
  fun x xs ->
    (
# 1668 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11661 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_507 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11669 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)) list))

let _menhir_action_508 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11677 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)) list))

let _menhir_action_509 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11685 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon list))

let _menhir_action_510 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11693 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon list))

let _menhir_action_511 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11701 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_512 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11709 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_513 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11717 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_514 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11725 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_515 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11733 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_516 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11741 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_517 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11749 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_518 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11757 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_519 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11765 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_520 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11773 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_521 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11781 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_522 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11789 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_523 =
  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
    (
# 1242 "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
     )
# 11806 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_524 =
  fun e ->
    (
# 1250 "fstar-guts/FStarC_Parser_Parse.mly"
                       ( e )
# 11814 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_525 =
  fun t ->
    (
# 1253 "fstar-guts/FStarC_Parser_Parse.mly"
                                             ( ((Some TypeClassArg, []), t) )
# 11822 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_526 =
  fun dom_tm ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 11831 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 11836 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1254 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11841 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_527 =
  fun dom_tm x ->
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 11850 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 11855 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1254 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11860 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_528 =
  fun dom_tm x ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 11869 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 11874 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1254 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11879 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_529 =
  fun dom_tm x x_inlined1 ->
    let attrs_opt =
      let x = x_inlined1 in
      
# 126 "<standard.mly>"
    ( Some x )
# 11890 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 11896 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1254 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11901 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_530 =
  fun x y ->
    let e = 
# 180 "<standard.mly>"
    ( (x, y) )
# 11910 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1413 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( e )
# 11915 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ))

let _menhir_action_531 =
  fun _endpos_lid_ _startpos_lid_ lid ->
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    (
# 1414 "fstar-guts/FStarC_Parser_Parse.mly"
                          ( lid, mk_term (Var (lid_of_ids [ ident_of_lid lid ])) (rr _loc_lid_) Un )
# 11924 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ))

let _menhir_action_532 =
  fun _endpos_bs_ _startpos_bs_ bs ->
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 1140 "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"
    )
# 11937 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder))

let _menhir_action_533 =
  fun () ->
    (
# 200 "fstar-guts/FStarC_Parser_Parse.mly"
          ( None )
# 11945 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_534 =
  fun () ->
    (
# 201 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( None )
# 11953 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_535 =
  fun () ->
    (
# 202 "fstar-guts/FStarC_Parser_Parse.mly"
             ( None )
# 11961 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_536 =
  fun () ->
    (
# 203 "fstar-guts/FStarC_Parser_Parse.mly"
                ( None )
# 11969 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_537 =
  fun () ->
    (
# 204 "fstar-guts/FStarC_Parser_Parse.mly"
             ( None )
# 11977 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_538 =
  fun () ->
    (
# 205 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 11985 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_539 =
  fun () ->
    (
# 206 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 11993 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_540 =
  fun () ->
    (
# 207 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12001 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_541 =
  fun () ->
    (
# 208 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12009 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_542 =
  fun () ->
    (
# 209 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12017 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_543 =
  fun () ->
    (
# 210 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12025 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_544 =
  fun () ->
    (
# 211 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12033 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_545 =
  fun () ->
    (
# 212 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12041 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_546 =
  fun () ->
    (
# 213 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 12049 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_547 =
  fun () ->
    (
# 214 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 12057 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_548 =
  fun () ->
    (
# 215 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12065 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_549 =
  fun () ->
    (
# 216 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12073 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_550 =
  fun () ->
    (
# 217 "fstar-guts/FStarC_Parser_Parse.mly"
              ( None )
# 12081 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_551 =
  fun () ->
    (
# 218 "fstar-guts/FStarC_Parser_Parse.mly"
               ( None )
# 12089 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_552 =
  fun () ->
    (
# 219 "fstar-guts/FStarC_Parser_Parse.mly"
                   ( None )
# 12097 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_553 =
  fun () ->
    (
# 220 "fstar-guts/FStarC_Parser_Parse.mly"
              ( None )
# 12105 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_554 =
  fun () ->
    (
# 221 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( None )
# 12113 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_555 =
  fun () ->
    (
# 222 "fstar-guts/FStarC_Parser_Parse.mly"
                        ( None )
# 12121 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_556 =
  fun b ->
    (
# 223 "fstar-guts/FStarC_Parser_Parse.mly"
          ( let _, _, _, snap = b in Some snap )
# 12129 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_557 =
  fun b ->
    (
# 224 "fstar-guts/FStarC_Parser_Parse.mly"
                   ( let _, _, _, snap = b in Some snap )
# 12137 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_558 =
  fun s ->
    (
# 1622 "fstar-guts/FStarC_Parser_Parse.mly"
             ( s )
# 12145 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string))

let _menhir_action_559 =
  fun e src_eff tgt_eff ->
    let lift = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12153 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 577 "fstar-guts/FStarC_Parser_Parse.mly"
      ( { msource = src_eff; mdest = tgt_eff; lift_op = NonReifiableLift lift; braced=false } )
# 12158 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_560 =
  fun _endpos__7_ _startpos_src_eff_ e src_eff tgt_eff x ->
    let lift2_opt = 
# 123 "<standard.mly>"
    ( None )
# 12166 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let lift1 =
      let y = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12172 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 180 "<standard.mly>"
    ( (x, y) )
# 12177 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__7_ in
    let _startpos = _startpos_src_eff_ in
    let _loc = (_startpos, _endpos) in
    (
# 584 "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 }
     )
# 12205 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_561 =
  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 = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12216 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        let x = 
# 581 "fstar-guts/FStarC_Parser_Parse.mly"
                                                          (id)
# 12221 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 180 "<standard.mly>"
    ( (x, y) )
# 12226 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 126 "<standard.mly>"
    ( Some x )
# 12232 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let lift1 =
      let y = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12239 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 180 "<standard.mly>"
    ( (x, y) )
# 12244 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__7_ in
    let _startpos = _startpos_src_eff_ in
    let _loc = (_startpos, _endpos) in
    (
# 584 "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 }
     )
# 12272 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_562 =
  fun _endpos__0_ _endpos_t_ t ->
    let id = 
# 123 "<standard.mly>"
    ( None )
# 12280 "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
    (
# 747 "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}
    )
# 12292 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint))

let _menhir_action_563 =
  fun _endpos_t_ _startpos_id_ id t ->
    let id =
      let x = 
# 746 "fstar-guts/FStarC_Parser_Parse.mly"
                                           (id)
# 12301 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 126 "<standard.mly>"
    ( Some x )
# 12306 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_id_ in
    let _loc = (_startpos, _endpos) in
    (
# 747 "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}
    )
# 12318 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint))

let _menhir_action_564 =
  fun constraints ->
    (
# 753 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                   ( constraints )
# 12326 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_565 =
  fun e ->
    (
# 918 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 12334 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_566 =
  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
    (
# 920 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Seq(e1, e2)) (rr2 _loc_e1_ _loc_e2_) Expr )
# 12344 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_567 =
  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
    (
# 926 "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
      )
# 12364 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_568 =
  fun _endpos_e2_ _startpos_x_ e1 e2 x ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_x_ in
    let _loc = (_startpos, _endpos) in
    (
# 936 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_term (Bind(x, e1, e2)) (rr _loc) Expr )
# 12375 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_569 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 896 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12386 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_570 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 896 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12397 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_571 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 896 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12408 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_572 =
  fun _endpos_e_ _startpos_e_ e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12417 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 12422 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 896 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12432 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_573 =
  fun _endpos_e_ _startpos_e_ e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12441 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 12446 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 900 "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 )
# 12458 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_574 =
  fun _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt ->
    let dom = 
# 1258 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( ((Some TypeClassArg, []), t) )
# 12466 "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
    (
# 1230 "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
     )
# 12481 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_575 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12490 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12495 "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
    (
# 1230 "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
     )
# 12511 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_576 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12520 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12525 "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
    (
# 1230 "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
     )
# 12541 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_577 =
  fun _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt ->
    let dom = 
# 1260 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( (None, attrs), dom_tm )
# 12549 "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
    (
# 1230 "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
     )
# 12564 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_578 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12573 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12578 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12583 "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
    (
# 1230 "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
     )
# 12599 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_579 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12608 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12613 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12618 "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
    (
# 1230 "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
     )
# 12634 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_580 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12643 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12648 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12653 "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
    (
# 1230 "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
     )
# 12669 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_581 =
  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 )
# 12680 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12686 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12691 "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
    (
# 1230 "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
     )
# 12707 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_582 =
  fun e ->
    (
# 1238 "fstar-guts/FStarC_Parser_Parse.mly"
         ( e )
# 12715 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_583 =
  fun _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt ->
    let dom = 
# 1258 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( ((Some TypeClassArg, []), t) )
# 12723 "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
    (
# 1230 "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
     )
# 12738 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_584 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12747 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12752 "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
    (
# 1230 "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
     )
# 12768 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_585 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12777 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12782 "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
    (
# 1230 "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
     )
# 12798 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_586 =
  fun _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt ->
    let dom = 
# 1260 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( (None, attrs), dom_tm )
# 12806 "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
    (
# 1230 "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
     )
# 12821 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_587 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12830 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12835 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12840 "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
    (
# 1230 "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
     )
# 12856 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_588 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12865 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12870 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12875 "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
    (
# 1230 "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
     )
# 12891 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_589 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12900 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12905 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12910 "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
    (
# 1230 "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
     )
# 12926 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_590 =
  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 )
# 12937 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12943 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1261 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12948 "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
    (
# 1230 "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
     )
# 12964 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_591 =
  fun e ->
    (
# 1238 "fstar-guts/FStarC_Parser_Parse.mly"
         ( e )
# 12972 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_592 =
  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
    (
# 1270 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("/\\", rr _loc_tok_), [e1;e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 12983 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_593 =
  fun e ->
    (
# 1271 "fstar-guts/FStarC_Parser_Parse.mly"
              ( e )
# 12991 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_594 =
  fun e ->
    (
# 1384 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 12999 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_595 =
  fun e ->
    (
# 1381 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( e )
# 13007 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_596 =
  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
    (
# 1286 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13019 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_597 =
  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
    (
# 1290 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(":=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13031 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_598 =
  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
    (
# 1293 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<|", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13043 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_599 =
  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
    (
# 1296 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("|>", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13055 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_600 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13067 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13075 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_601 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13087 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13095 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_602 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13107 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13115 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_603 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13127 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13135 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_604 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13147 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13155 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_605 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13167 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13175 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_606 =
  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
    (
# 1302 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("-", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13187 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_607 =
  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
    (
# 1304 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_uminus e (rr _loc_tok_) (rr _loc) Expr )
# 13199 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_608 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1306 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Dynamic)) (rr _loc) Un )
# 13210 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_609 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1308 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Static)) (rr _loc) Un )
# 13221 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_610 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1310 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let q = mk_term (Quote (e, Dynamic)) (rr _loc) Un in
        mk_term (Antiquote q) (rr _loc) Un )
# 13233 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_611 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1313 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Antiquote e) (rr _loc) Un )
# 13244 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_612 =
  fun e ->
    (
# 1315 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13252 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_613 =
  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
    (
# 1286 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13264 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_614 =
  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
    (
# 1290 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(":=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13276 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_615 =
  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
    (
# 1293 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<|", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13288 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_616 =
  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
    (
# 1296 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("|>", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13300 "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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13312 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13320 "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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13332 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13340 "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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13352 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13360 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_620 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13372 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13380 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_621 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13392 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13400 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_622 =
  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
      
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13412 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13420 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_623 =
  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
    (
# 1302 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("-", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13432 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_624 =
  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
    (
# 1304 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_uminus e (rr _loc_tok_) (rr _loc) Expr )
# 13444 "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
    (
# 1306 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Dynamic)) (rr _loc) Un )
# 13455 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_626 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1308 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Static)) (rr _loc) Un )
# 13466 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_627 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1310 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let q = mk_term (Quote (e, Dynamic)) (rr _loc) Un in
        mk_term (Antiquote q) (rr _loc) Un )
# 13478 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_628 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1313 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Antiquote e) (rr _loc) Un )
# 13489 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_629 =
  fun e ->
    (
# 1315 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13497 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_630 =
  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
    (
# 1265 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("\\/", rr _loc_tok_), [e1;e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13508 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_631 =
  fun e ->
    (
# 1266 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( e )
# 13516 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_632 =
  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
    (
# 1217 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<==>", rr _loc_tok_), [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13527 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_633 =
  fun e ->
    (
# 1218 "fstar-guts/FStarC_Parser_Parse.mly"
                ( e )
# 13535 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_634 =
  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
    (
# 1222 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("==>", rr _loc_tok_), [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13546 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_635 =
  fun e ->
    (
# 1224 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13554 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_636 =
  fun e ->
    (
# 1387 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( e )
# 13562 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_637 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1323 "fstar-guts/FStarC_Parser_Parse.mly"
      ( consTerm (rr _loc) e1 e2 )
# 13573 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_638 =
  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
    (
# 1325 "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
      )
# 13599 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_639 =
  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
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13611 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_640 =
  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
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13623 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_641 =
  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
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13635 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_642 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1349 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp op [ e1, Infix; e2, Nothing ] (rr _loc) )
# 13646 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_643 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1351 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (VQuote e) (rr _loc) Un )
# 13657 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_644 =
  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
    (
# 1353 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident (op, rr _loc_op_), [e])) (rr _loc) Formula )
# 13669 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_645 =
  fun e ->
    (
# 1354 "fstar-guts/FStarC_Parser_Parse.mly"
        ( e )
# 13677 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_646 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1323 "fstar-guts/FStarC_Parser_Parse.mly"
      ( consTerm (rr _loc) e1 e2 )
# 13688 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_647 =
  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
    (
# 1325 "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
      )
# 13714 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_648 =
  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
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13726 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_649 =
  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
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13738 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_650 =
  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
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13750 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_651 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1349 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp op [ e1, Infix; e2, Nothing ] (rr _loc) )
# 13761 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_652 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1351 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (VQuote e) (rr _loc) Un )
# 13772 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_653 =
  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
    (
# 1353 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident (op, rr _loc_op_), [e])) (rr _loc) Formula )
# 13784 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_654 =
  fun e ->
    (
# 1354 "fstar-guts/FStarC_Parser_Parse.mly"
        ( e )
# 13792 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_655 =
  fun e ->
    (
# 1357 "fstar-guts/FStarC_Parser_Parse.mly"
                            ( e )
# 13800 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_656 =
  fun e ->
    let e = 
# 1318 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 13808 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1358 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( e )
# 13813 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_657 =
  fun e ->
    (
# 1357 "fstar-guts/FStarC_Parser_Parse.mly"
                            ( e )
# 13821 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_658 =
  fun e ->
    let e = 
# 1318 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 13829 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1358 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( e )
# 13834 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_659 =
  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
    (
# 1391 "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
      )
# 13850 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_660 =
  fun e ->
    (
# 1397 "fstar-guts/FStarC_Parser_Parse.mly"
               ( e )
# 13858 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_661 =
  fun _endpos_el_ _startpos_el_ el ->
    let _loc_el_ = (_startpos_el_, _endpos_el_) in
    (
# 1275 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match el with
          | [x] -> x
          | components -> mkTuple components (rr2 _loc_el_ _loc_el_)
      )
# 13871 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_662 =
  fun x ->
    (
# 1467 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 13879 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_663 =
  fun x ->
    (
# 1469 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 13887 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_664 =
  fun () ->
    (
# 1183 "fstar-guts/FStarC_Parser_Parse.mly"
      ( [] )
# 13895 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_665 =
  fun pats ->
    (
# 1184 "fstar-guts/FStarC_Parser_Parse.mly"
                                                     ( pats )
# 13903 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_666 =
  fun _endpos_pats_ _startpos_pats_ pats ->
    let _endpos = _endpos_pats_ in
    let _startpos = _startpos_pats_ in
    let _loc = (_startpos, _endpos) in
    (
# 679 "fstar-guts/FStarC_Parser_Parse.mly"
      ( match pats with | [x] -> x | l -> mk_pattern (PatTuple (l, false)) (rr _loc) )
# 13914 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_667 =
  fun x ->
    (
# 454 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( x )
# 13922 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_668 =
  fun ascr_opt lid tcdef tparams ->
    (
# 451 "fstar-guts/FStarC_Parser_Parse.mly"
      ( tcdef lid tparams ascr_opt )
# 13930 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon))

let _menhir_action_669 =
  fun () ->
    (
# 461 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconAbstract(id, binders, kopt)) )
# 13938 "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_670 =
  fun e ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 13949 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 13954 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 463 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt ->  check_id id; TyconAbbrev(id, binders, kopt, t)) )
# 13960 "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_671 =
  fun record_field_decls ->
    let record_field_decls = 
# 458 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 13970 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 13975 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 466 "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)) )
# 13980 "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_672 =
  fun record_field_decls x ->
    let record_field_decls = 
# 458 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 13990 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 13995 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 466 "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)) )
# 14000 "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_673 =
  fun ct_decls ->
    (
# 469 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconVariant(id, binders, kopt, ct_decls)) )
# 14010 "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_674 =
  fun tcdef ->
    (
# 336 "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, [])
      )
# 14028 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_675 =
  fun _endpos_lb_ _startpos__1_ lb q ->
    let _endpos = _endpos_lb_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 347 "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])
      )
# 14049 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_676 =
  fun _endpos_bs_ _endpos_e_ _startpos__1_ _startpos_bs_ _startpos_e_ bs e id ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14058 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14063 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid = 
# 862 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 14070 "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
    (
# 360 "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])
      )
# 14092 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_677 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14101 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14106 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1625 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 14118 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14124 "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
    (
# 360 "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])
      )
# 14147 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_678 =
  fun _endpos_bs_ _endpos_e_ _startpos__1_ _startpos_bs_ _startpos_e_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14156 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14161 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id = 
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 14169 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14174 "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
    (
# 360 "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])
      )
# 14197 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_679 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14206 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14211 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1627 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 14223 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14229 "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
    (
# 360 "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])
      )
# 14252 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_680 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14261 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14266 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1628 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 14278 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14284 "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
    (
# 360 "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])
      )
# 14307 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_681 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14316 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14321 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 14334 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1629 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 14340 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14346 "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
    (
# 360 "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])
      )
# 14369 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_682 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14378 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14383 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 14396 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 14402 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14408 "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
    (
# 360 "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])
      )
# 14431 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_683 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14440 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14445 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1634 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 14458 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 14464 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14470 "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
    (
# 360 "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])
      )
# 14493 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_684 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1193 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14502 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1164 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14507 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 14520 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1631 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 14526 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 864 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14532 "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
    (
# 360 "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])
      )
# 14555 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_685 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
            ( mk_ident(id, rr _loc_id_) )
# 14564 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_686 =
  fun ua ->
    (
# 1585 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( (UnivApp, ua) )
# 14572 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.imp * FStarC_Parser_AST.typ))

let _menhir_action_687 =
  fun ua ->
    (
# 1588 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( ua )
# 14580 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_688 =
  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
    (
# 1590 "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
       )
# 14596 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_689 =
  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
    (
# 1597 "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)
      )
# 14615 "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_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_1502 : 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_186 d snap in
      let ds = _v in
      let _v = _menhir_action_307 ds in
      _menhir_goto_oneDeclOrEOF _menhir_stack _v
  
  let _menhir_run_1499 : type  ttv_stack. (ttv_stack, _menhir_box_oneDeclOrEOF) _menhir_cell1_decl -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack ->
      let _v = _menhir_action_537 () in
      _menhir_goto_startOfNextDeclToken _menhir_stack _v
  
  let _menhir_run_1437 : type  ttv_stack. ttv_stack -> _ -> _menhir_box_inputFragment =
    fun _menhir_stack _v ->
      let decls = _v in
      let _v = _menhir_action_193 decls in
      MenhirBox_inputFragment _v
  
  let rec _menhir_run_1445 : 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_228 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_1437 _menhir_stack _v
      | MenhirState1444 ->
          _menhir_run_1445 _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_534 () in
      _menhir_goto_startOfNextDeclToken _menhir_stack _v
  
  let _menhir_run_1450 : 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_547 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | USE_LANG_BLOB _v_1 ->
          let b = _v_1 in
          let _v = _menhir_action_557 b in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | UNOPTEQUALITY ->
          let _ = _menhir_action_408 () in
          _menhir_run_1499 _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_400 _endpos__1_ _startpos__1_
          in
          _menhir_run_1499 _menhir_stack
      | UNFOLD ->
          let _ = _menhir_action_402 () in
          _menhir_run_1499 _menhir_stack
      | TYPE ->
          let _v = _menhir_action_544 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | TOTAL ->
          let _ = _menhir_action_405 () in
          _menhir_run_1499 _menhir_stack
      | SUB_EFFECT ->
          let _v = _menhir_action_553 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | SPLICET ->
          let _v = _menhir_action_549 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | SPLICE ->
          let _v = _menhir_action_548 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | REIFIABLE ->
          let _ = _menhir_action_412 () in
          _menhir_run_1499 _menhir_stack
      | REFLECTABLE ->
          let _ = _menhir_action_413 () in
          _menhir_run_1499 _menhir_stack
      | PRIVATE ->
          let _ = _menhir_action_406 () in
          _menhir_run_1499 _menhir_stack
      | PRAGMA_SHOW_OPTIONS ->
          let _ = _menhir_action_372 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_SET_OPTIONS ->
          let _ = _menhir_action_373 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_RESTART_SOLVER ->
          let _ = _menhir_action_377 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_RESET_OPTIONS ->
          let _ = _menhir_action_374 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_PUSH_OPTIONS ->
          let _ = _menhir_action_375 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_PRINT_EFFECTS_GRAPH ->
          let _ = _menhir_action_378 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_POP_OPTIONS ->
          let _ = _menhir_action_376 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_CHECK ->
          let _ = _menhir_action_379 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | POLYMONADIC_SUBCOMP ->
          let _v = _menhir_action_555 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | POLYMONADIC_BIND ->
          let _v = _menhir_action_554 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | OPEN ->
          let _v = _menhir_action_540 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | OPAQUE ->
          let _ = _menhir_action_411 () in
          _menhir_run_1499 _menhir_stack
      | NOEXTRACT ->
          let _ = _menhir_action_404 () in
          _menhir_run_1499 _menhir_stack
      | NOEQUALITY ->
          let _ = _menhir_action_407 () in
          _menhir_run_1499 _menhir_stack
      | NEW_EFFECT ->
          let _v = _menhir_action_551 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | NEW ->
          let _ = _menhir_action_409 () in
          _menhir_run_1499 _menhir_stack
      | MODULE ->
          let _v = _menhir_action_543 () 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_410 _endpos__1_ _startpos__1_
          in
          _menhir_run_1499 _menhir_stack
      | LET ->
          let _v = _menhir_action_546 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LBRACK_AT_AT ->
          let _v = _menhir_action_536 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LBRACK_AT ->
          let _v = _menhir_action_535 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LAYERED_EFFECT ->
          let _v = _menhir_action_552 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | IRREDUCIBLE ->
          let _ = _menhir_action_403 () in
          _menhir_run_1499 _menhir_stack
      | INSTANCE ->
          let _v = _menhir_action_539 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | INLINE_FOR_EXTRACTION ->
          let _ = _menhir_action_401 () in
          _menhir_run_1499 _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_399 _endpos__1_ _startpos__1_
          in
          _menhir_run_1499 _menhir_stack
      | INCLUDE ->
          let _v = _menhir_action_542 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | FRIEND ->
          let _v = _menhir_action_541 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EXCEPTION ->
          let _v = _menhir_action_550 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EOF ->
          let _v = _menhir_action_533 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EFFECT ->
          let _v = _menhir_action_545 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | CLASS ->
          let _v = _menhir_action_538 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | BLOB _v_46 ->
          let b = _v_46 in
          let _v = _menhir_action_556 b in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | ASSUME ->
          let _ = _menhir_action_398 () in
          _menhir_run_1499 _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_173 _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_1444 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1444 ->
          _menhir_run_1444 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1446 ->
          _menhir_run_1450 _menhir_stack _menhir_lexbuf _v _menhir_s _tok
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1444 : 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 MenhirState1444 _menhir_initp
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | IRREDUCIBLE ->
          _menhir_run_0986 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0987 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | INLINE ->
          _menhir_run_0988 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | ASSUME ->
          _menhir_run_0989 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1444 _menhir_initp
      | EOF ->
          let _v_1 = _menhir_action_227 () in
          _menhir_run_1445 _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_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_229 () in
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1444 _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_408 () 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_0993 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0993 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1444 ->
          _menhir_run_0993 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1446 ->
          _menhir_run_0993 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1450 ->
          _menhir_run_1499 _menhir_stack
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0993 : 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_177 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 MenhirState1440 _menhir_initp
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | IRREDUCIBLE ->
          _menhir_run_0986 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0987 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | INLINE ->
          _menhir_run_0988 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1440 _menhir_initp
      | ASSUME ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let _v_0 = _menhir_action_398 () in
          _menhir_run_0993 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1440 _tok _menhir_initp
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | 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_229 () in
          _menhir_run_1442 _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_400 _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_402 () 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_405 () 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_412 () 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_413 () 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_406 () 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_411 () 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_404 () 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_407 () 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_409 () 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_410 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_489 () in
          _menhir_run_0984 _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_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_093 _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_212 _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_093 _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_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0153 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0248 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0708 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0731 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0874 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0874 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0874 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0871 ->
          _menhir_run_0874 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0874 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0145 : 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_090 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
      | MenhirState0132 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0153 ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0247 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0248 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0708 ->
          _menhir_run_0724 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0724 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0733 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0731 ->
          _menhir_run_0733 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0733 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0733 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0870 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0870 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0870 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0870 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0974 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0983 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_0983 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_1209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0146 : 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_644 _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_655 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
      | MenhirState0131 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0808 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0810 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0812 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0814 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0816 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0818 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0160 : 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_0161 _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_0807 _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_0811 _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_0813 _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_0809 _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_0815 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_612 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_0161 : 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 = MenhirState0161 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_0132 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _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_152 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
      | MenhirState0593 ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | 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
      | MenhirState0034 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _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
      | MenhirState0050 ->
          _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
      | MenhirState0131 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _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
      | MenhirState0149 ->
          _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
      | MenhirState0153 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _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
      | MenhirState0185 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _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
      | MenhirState0248 ->
          _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
      | MenhirState0252 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _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
      | MenhirState0292 ->
          _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
      | MenhirState0324 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _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
      | MenhirState0336 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _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
      | MenhirState0357 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _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
      | MenhirState0380 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _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
      | MenhirState0392 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _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
      | MenhirState0406 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _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
      | MenhirState0420 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _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
      | MenhirState0455 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _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
      | MenhirState0464 ->
          _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
      | MenhirState0470 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _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
      | MenhirState0485 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _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
      | MenhirState0508 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _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
      | MenhirState0538 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _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
      | MenhirState0545 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _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
      | MenhirState0563 ->
          _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
      | MenhirState0570 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _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
      | MenhirState0578 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _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
      | MenhirState0615 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _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
      | MenhirState0640 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _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
      | MenhirState0666 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _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
      | MenhirState0687 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _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
      | MenhirState0708 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _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
      | MenhirState0731 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _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
      | MenhirState0747 ->
          _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
      | MenhirState0751 ->
          _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
      | MenhirState0757 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _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
      | MenhirState0786 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _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
      | MenhirState0807 ->
          _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
      | MenhirState0813 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _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
      | MenhirState0854 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _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
      | MenhirState0866 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0871 ->
          _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
      | MenhirState0891 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _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
      | MenhirState0950 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _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
      | MenhirState1216 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _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
      | MenhirState1386 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0995 ->
          _menhir_run_1041 _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_086 _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
      | MenhirState0201 ->
          _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_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
      | MenhirState0085 ->
          _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
      | MenhirState0095 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _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
      | MenhirState0367 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _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
      | MenhirState0399 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0453 _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_0095 _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_0096 _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_0105 _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_0191 _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_0129 _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_0193 _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_290 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__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_083 _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_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_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_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_156 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_154 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_149 () 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_148 _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_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_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_163 () 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_161 () 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_151 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_162 () 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_685 _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
      | MenhirState0096 ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0098 ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0135 ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0321 ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0678 ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0898 ->
          _menhir_run_0097 _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
      | MenhirState0131 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _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
      | MenhirState0149 ->
          _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
      | MenhirState0153 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _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
      | MenhirState0185 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _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
      | MenhirState0248 ->
          _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
      | MenhirState0252 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _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
      | MenhirState0292 ->
          _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
      | MenhirState0324 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _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
      | MenhirState0336 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _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
      | MenhirState0357 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _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
      | MenhirState0380 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _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
      | MenhirState0392 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _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
      | MenhirState0406 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _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
      | MenhirState0420 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _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
      | MenhirState0455 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _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
      | MenhirState0464 ->
          _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
      | MenhirState0470 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _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
      | MenhirState0485 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _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
      | MenhirState0508 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _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
      | MenhirState0538 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _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
      | MenhirState0545 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _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
      | MenhirState0563 ->
          _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
      | MenhirState0570 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _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
      | MenhirState0578 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _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
      | MenhirState0615 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _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
      | MenhirState0640 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _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
      | MenhirState0666 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _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
      | MenhirState0687 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _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
      | MenhirState0708 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _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
      | MenhirState0731 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _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
      | MenhirState0747 ->
          _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
      | MenhirState0751 ->
          _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
      | MenhirState0757 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _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
      | MenhirState0786 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _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
      | MenhirState0807 ->
          _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
      | MenhirState0813 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _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
      | MenhirState0854 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _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
      | MenhirState0866 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0871 ->
          _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
      | MenhirState0891 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _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
      | MenhirState0950 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _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
      | MenhirState1216 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _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
      | MenhirState1386 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1206 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1214 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1252 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1256 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1276 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1285 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1290 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1295 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1305 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1310 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1315 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0196 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1188 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1191 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1232 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1234 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1240 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1242 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1344 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1412 ->
          _menhir_run_0195 _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
      | MenhirState1159 ->
          _menhir_run_1160 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1173 ->
          _menhir_run_1174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1321 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1320 ->
          _menhir_run_1336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_1346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_1415 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_1421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1419 ->
          _menhir_run_1426 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _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 = MenhirState0098 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_210 _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_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0098 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0114 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0135 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0153 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0248 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0321 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0678 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0708 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0731 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0871 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0898 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0100 _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
      | MenhirState0167 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0175 ->
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0178 ->
          _menhir_run_0177 _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
      | MenhirState0095 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _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
      | MenhirState0216 ->
          _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
      | MenhirState0367 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0913 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0919 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0206 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0213 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0364 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0642 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0995 ->
          _menhir_run_1037 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1206 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1214 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1252 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1256 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1276 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1285 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1290 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1295 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1305 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1310 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1315 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_1097 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_1097 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1163 ->
          _menhir_run_1097 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_1116 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1120 ->
          _menhir_run_1138 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1139 ->
          _menhir_run_1157 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_1158 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_1158 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1326 ->
          _menhir_run_1329 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1334 ->
          _menhir_run_1329 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1361 ->
          _menhir_run_1403 _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_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_353 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
      | MenhirState0098 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0114 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0135 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0153 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0248 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0321 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0678 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0708 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0731 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0871 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0898 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0099 : 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_354 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_0138 : 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_388 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
      | MenhirState0096 ->
          _menhir_run_0103 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0898 ->
          _menhir_run_0103 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0153 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0248 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0708 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0731 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0871 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0133 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0135 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0661 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0321 ->
          _menhir_run_0661 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0678 ->
          _menhir_run_0661 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0710 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_1350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0103 : 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 = MenhirState0104 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0193 _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_184 _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_145 () 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_153 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_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_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_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_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_155 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_146 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_150 () 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_147 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0306 _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_0105 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0905 _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_0907 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | EQUALS ->
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0315 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0909 _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_077 _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_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_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
      | MenhirState0296 ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0526 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0526 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0526 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0630 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0708 ->
          _menhir_run_0723 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0723 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0885 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0911 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0911 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0996 ->
          _menhir_run_1032 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_1070 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1076 ->
          _menhir_run_1091 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1099 ->
          _menhir_run_1114 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1121 ->
          _menhir_run_1136 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1140 ->
          _menhir_run_1155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1257 ->
          _menhir_run_1272 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1253 ->
          _menhir_run_1312 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1362 ->
          _menhir_run_1398 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0318 : 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_391 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 = MenhirState0324 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_531 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_489 () in
          _menhir_run_0980 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_489 () in
          _menhir_run_0975 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_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_093 _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_212 _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
      | MenhirState0123 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0225 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0265 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0510 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0835 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0879 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0998 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1003 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1008 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1013 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1018 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1023 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1028 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1066 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1322 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1364 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1369 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1374 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1403 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1421 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1426 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0230 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0233 ->
          _menhir_run_0234 _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
      | MenhirState0014 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0446 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0446 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0446 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0446 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_066 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_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0225 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0265 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0510 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0835 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0879 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0998 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1003 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1008 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1013 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1018 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1023 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1028 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1066 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1322 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1364 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1369 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1374 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1403 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1421 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1426 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0833 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0833 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _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_117 _endpos_aqualifiedWithAttrs_lid_ _startpos_aqualifiedWithAttrs_lid_ aqualifiedWithAttrs_lid in
      let _startpos = _startpos_aqualifiedWithAttrs_lid_ in
      let (_startpos_b_, b) = (_startpos, _v) in
      let _v = _menhir_action_244 b in
      _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos_b_ _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 MenhirState0226 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0226 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _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_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_217 () in
          _menhir_run_0227 _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_212 _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_243 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_489 () in
          _menhir_run_0939 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_0457 _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_0460 _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_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0510 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0150 _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_0516 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0315 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0518 _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_098 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_489 () in
          _menhir_run_0966 _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_235 _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 MenhirState0362 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0362 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0362 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0362 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0362 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0362 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0362 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0362 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0362 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0362 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0362 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0362 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0362 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0362 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0362 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0362 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0362 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0362 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0362 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0362 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0362 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0362 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0362 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _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_234 () 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_0457 _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_0460 _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_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0510 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0150 _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_0516 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0315 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0518 _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_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_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_096 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0193 _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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0095 : 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 MenhirState0095 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | LBRACK ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | HASH ->
          _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | DOT_DOT ->
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0095 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_498 () in
          _menhir_run_0903 _menhir_stack _menhir_lexbuf _menhir_lexer _v _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_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 MenhirState0096 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_483 () in
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0101 : 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_072 _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_0105 : 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
      | UNDERSCORE ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_startpos__1_, _endpos__2_) = (_startpos, _endpos) in
          let _v = _menhir_action_084 _endpos__2_ _startpos__1_ in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__2_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos) in
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | IDENT _ | LBRACK_AT_AT_AT ->
          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_0107 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_HASH -> _ -> _ -> _ -> 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_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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_233 () in
          _menhir_run_0934 _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_232 () 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
      | MenhirState0395 ->
          _menhir_run_0396 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0087 ->
          _menhir_run_0934 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0396 : 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_0397 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0396 _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 = MenhirState0396 in
          let _v = _menhir_action_138 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0397 : 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_139 () 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_238 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 MenhirState0398 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0398 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0398 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0398 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0398 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0398 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0398 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0398 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | NAME _v_7 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0398 _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _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, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | UINT8 _v_10 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0399 _menhir_initp
          | UINT64 _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0399 _menhir_initp
          | UINT32 _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0399 _menhir_initp
          | UINT16 _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0399 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _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, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | UINT8 _v_19 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | UINT64 _v_20 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | UINT32 _v_21 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | UINT16 _v_22 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | STRING _v_23 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | SIZET _v_24 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | REAL _v_25 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | NAME _v_26 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0401 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0401 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | INT8 _v_27 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | INT64 _v_28 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | INT32 _v_29 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | INT16 _v_30 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | INT _v_31 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | IDENT _v_32 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0401 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0401 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0401 _menhir_initp
                  | CHAR _v_33 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _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 MenhirState0401 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0399, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0401 _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_077 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_18 _startpos_8 _v_34 MenhirState0398 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | STRING _v_35 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState0399 _menhir_initp
          | SIZET _v_36 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState0399 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | REAL _v_37 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState0399 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState0399 _menhir_initp
          | OP_MIXFIX_ACCESS _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState0399 _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, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | UINT8 _v_45 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | UINT64 _v_46 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | UINT32 _v_47 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | UINT16 _v_48 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | STRING _v_49 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | SIZET _v_50 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | REAL _v_51 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | NAME _v_52 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0588 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0588 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | INT8 _v_53 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | INT64 _v_54 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | INT32 _v_55 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | INT16 _v_56 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | INT _v_57 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | IDENT _v_58 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0588 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0588 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0588 _menhir_initp
                  | CHAR _v_59 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _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 MenhirState0588 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0399, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0588 _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_075 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_44 _startpos_8 _v_60 MenhirState0398 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | OPINFIX4 _v_61 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState0399 _menhir_initp
          | OPINFIX3R _v_62 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState0399 _menhir_initp
          | OPINFIX3L _v_63 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_63 MenhirState0399 _menhir_initp
          | OPINFIX2 _v_64 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_64 MenhirState0399 _menhir_initp
          | OPINFIX1 _v_65 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_65 MenhirState0399 _menhir_initp
          | OPINFIX0d _v_66 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_66 MenhirState0399 _menhir_initp
          | OPINFIX0c _v_67 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState0399 _menhir_initp
          | OPINFIX0b _v_68 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_68 MenhirState0399 _menhir_initp
          | OPINFIX0a _v_69 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_69 MenhirState0399 _menhir_initp
          | NAME _v_70 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_70 MenhirState0399 _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, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState0593 _menhir_initp
              | UINT64 _v_74 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_74 MenhirState0593 _menhir_initp
              | UINT32 _v_75 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_75 MenhirState0593 _menhir_initp
              | UINT16 _v_76 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_76 MenhirState0593 _menhir_initp
              | TRUE ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0593 _menhir_initp
              | STRING _v_77 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_77 MenhirState0593 _menhir_initp
              | SIZET _v_78 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_78 MenhirState0593 _menhir_initp
              | SET_RANGE_OF ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0593 _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, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | UINT8 _v_81 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_81 MenhirState0594 _menhir_initp
                  | UINT64 _v_82 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_82 MenhirState0594 _menhir_initp
                  | UINT32 _v_83 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_83 MenhirState0594 _menhir_initp
                  | UINT16 _v_84 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_84 MenhirState0594 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | STRING _v_85 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_85 MenhirState0594 _menhir_initp
                  | SIZET _v_86 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_86 MenhirState0594 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | REAL _v_87 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_87 MenhirState0594 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | NAME _v_88 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_88 MenhirState0594 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | INT8 _v_89 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_89 MenhirState0594 _menhir_initp
                  | INT64 _v_90 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_90 MenhirState0594 _menhir_initp
                  | INT32 _v_91 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_91 MenhirState0594 _menhir_initp
                  | INT16 _v_92 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_92 MenhirState0594 _menhir_initp
                  | INT _v_93 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_93 MenhirState0594 _menhir_initp
                  | IDENT _v_94 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_94 MenhirState0594 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
                  | CHAR _v_95 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_95 MenhirState0594 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0593, _startpos_79, _endpos_80) in
                      _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _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_078 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_80 _startpos_8 _v_96 MenhirState0398 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | REIFY ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0593 _menhir_initp
              | REAL _v_97 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_97 MenhirState0593 _menhir_initp
              | RANGE_OF ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0593 _menhir_initp
              | LPAREN_RPAREN ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0593 _menhir_initp
              | INT8 _v_98 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_98 MenhirState0593 _menhir_initp
              | INT64 _v_99 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_99 MenhirState0593 _menhir_initp
              | INT32 _v_100 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_100 MenhirState0593 _menhir_initp
              | INT16 _v_101 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_101 MenhirState0593 _menhir_initp
              | INT _v_102 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_102 MenhirState0593 _menhir_initp
              | FALSE ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0593 _menhir_initp
              | CHAR _v_103 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0399, _startpos_71, _endpos_72) in
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_103 MenhirState0593 _menhir_initp
              | _ ->
                  _eRR ())
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _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, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | UINT8 _v_109 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | UINT64 _v_110 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | UINT32 _v_111 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | UINT16 _v_112 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | STRING _v_113 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | SIZET _v_114 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | REAL _v_115 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | NAME _v_116 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0600 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0600 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | INT8 _v_117 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | INT64 _v_118 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | INT32 _v_119 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | INT16 _v_120 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | INT _v_121 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | IDENT _v_122 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0600 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0600 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0600 _menhir_initp
                  | CHAR _v_123 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _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 MenhirState0600 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0399, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0600 _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_080 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_108 _startpos_8 _v_124 MenhirState0398 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | INT8 _v_125 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_125 MenhirState0399 _menhir_initp
          | INT64 _v_126 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_126 MenhirState0399 _menhir_initp
          | INT32 _v_127 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_127 MenhirState0399 _menhir_initp
          | INT16 _v_128 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_128 MenhirState0399 _menhir_initp
          | INT _v_129 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_129 MenhirState0399 _menhir_initp
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | IDENT _v_130 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_130 MenhirState0399 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _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, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | UINT8 _v_136 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | UINT64 _v_137 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | UINT32 _v_138 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | UINT16 _v_139 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | STRING _v_140 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | SIZET _v_141 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | REAL _v_142 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | NAME _v_143 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0606 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0606 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | INT8 _v_144 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | INT64 _v_145 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | INT32 _v_146 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | INT16 _v_147 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | INT _v_148 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | IDENT _v_149 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0606 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0606 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0606 _menhir_initp
                  | CHAR _v_150 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _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 MenhirState0606 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0399, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0606 _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_082 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_135 _startpos_8 _v_151 MenhirState0398 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _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, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | UINT8 _v_157 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | UINT64 _v_158 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | UINT32 _v_159 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | UINT16 _v_160 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | STRING _v_161 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | SIZET _v_162 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | REAL _v_163 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | NAME _v_164 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0612 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0612 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | INT8 _v_165 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | INT64 _v_166 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | INT32 _v_167 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | INT16 _v_168 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | INT _v_169 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | IDENT _v_170 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0612 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0612 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0612 _menhir_initp
                  | CHAR _v_171 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _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 MenhirState0612 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0399, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0612 _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_081 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_156 _startpos_8 _v_172 MenhirState0398 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | DOT_DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
          | CHAR _v_173 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_173 MenhirState0399 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
              _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _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, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | UINT8 _v_179 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | UINT64 _v_180 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | UINT32 _v_181 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | UINT16 _v_182 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | STRING _v_183 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | SIZET _v_184 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | REAL _v_185 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | NAME _v_186 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0618 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0618 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | INT8 _v_187 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | INT64 _v_188 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | INT32 _v_189 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | INT16 _v_190 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | INT _v_191 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | IDENT _v_192 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0618 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0618 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0618 _menhir_initp
                  | CHAR _v_193 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _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 MenhirState0618 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0398, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0399, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0618 _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_079 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_178 _startpos_8 _v_194 MenhirState0398 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LBRACK ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | INT8 _v_195 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_195 MenhirState0398 _menhir_initp
      | INT64 _v_196 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_196 MenhirState0398 _menhir_initp
      | INT32 _v_197 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_197 MenhirState0398 _menhir_initp
      | INT16 _v_198 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_198 MenhirState0398 _menhir_initp
      | INT _v_199 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_199 MenhirState0398 _menhir_initp
      | IDENT _v_200 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_200 MenhirState0398 _menhir_initp
      | HASH ->
          _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | DOT_DOT ->
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | CHAR _v_201 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_201 MenhirState0398 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _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 _menhir_s = MenhirState0094 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0306 _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_0105 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0905 _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_0907 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | EQUALS ->
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0315 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0909 _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_075 _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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_121 _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_120 _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_078 _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_080 _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_0305 : 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_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_0306 : 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_0905 : 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_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
      | _ ->
          _eRR ()
  
  and _menhir_run_0907 : 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_0311 : 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_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_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 _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_069 _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_0129 : 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_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0913 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0919 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0225 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0265 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0510 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0835 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0879 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0998 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1003 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1008 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1013 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1018 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1023 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1028 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1066 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1322 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1364 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1369 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1374 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1403 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1421 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1426 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0955 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_1120 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_1120 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_1120 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1163 ->
          _menhir_run_1120 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_1120 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0211 : 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
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0211 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0233 : 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 MenhirState0233 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0233 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0233 _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_211 _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_0346 : 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 MenhirState0346 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0346 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0346 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0346 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0346 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0346 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0346 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0346 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0346 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0346 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0346 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0346 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0346 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0346 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0346 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0346 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0346 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0346 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0346 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0346 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0346 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_098 _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_392 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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_096 _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_390 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0871 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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_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_41, _startpos_40, (), _endpos_43) in
                  let _v = _menhir_action_393 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0875 _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 MenhirState0875 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0875 _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_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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 MenhirState0875 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0875 _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_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0875 _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_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0875 _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_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0875 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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_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_45, _startpos_44, _v, _endpos_53) in
                  let _v = _menhir_action_395 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _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_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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 MenhirState0877 _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_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _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 MenhirState0877 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _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_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _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 MenhirState0877 _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _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_0305 _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_0188 _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_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | IF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | FUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0190 _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 MenhirState0879 _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_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_64, _startpos_63, _v, _endpos_66) in
                  let _v = _menhir_action_397 _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 MenhirState0879 _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 MenhirState0879 _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 MenhirState0879 _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_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0879 _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 MenhirState0879 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0879 _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_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0879 _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_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_64 _endpos_64 _v_68 MenhirState0879 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FORALL ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0150 _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 MenhirState0881 _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_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_70, _startpos_69, _v, _endpos_72) in
                  let _v = _menhir_action_396 _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 MenhirState0881 _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 MenhirState0881 _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 MenhirState0881 _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_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _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 MenhirState0881 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _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_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _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_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_70 _endpos_70 _v_74 MenhirState0881 _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ENSURES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ELIM ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | DECREASES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0313 _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_0314 _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_0315 _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_0270 _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_0246 _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_0248 _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_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ATTRIBUTES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ASSUME ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ASSERT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0278 _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_100 _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_394 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _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_477 () in
          _menhir_run_0924 _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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0402 : 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 = MenhirState0402 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_0132 _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_0147 _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_0148 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0128 _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_0129 _menhir_stack _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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _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 _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 = MenhirState0132 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_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 _menhir_stack = MenhirCell1_QUOTE (_menhir_stack, _menhir_s, _startpos) 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _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_MINUS (_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
      | TILDE _v ->
          _menhir_run_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0149 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0151 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | DOT ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState0123 _tok _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_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_0132 _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_0147 _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_0148 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0128 _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_0129 _menhir_stack _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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _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 _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) 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
      | TILDE _v ->
          _menhir_run_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0153 : 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 = MenhirState0153 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_0155 : 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 = MenhirState0155 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_0157 : 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 = MenhirState0157 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_0159 : 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 = MenhirState0159 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _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_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_210 _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_211 _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_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
      match (_tok : MenhirBasics.token) with
      | LBRACK ->
          let _menhir_stack = MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos) in
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_0237 : 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_119 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
      | MenhirState0225 ->
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1066 ->
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0242 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0265 ->
          _menhir_run_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0512 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0510 ->
          _menhir_run_0512 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0879 ->
          _menhir_run_0512 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0512 _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
      | MenhirState0741 ->
          _menhir_run_0745 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0745 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0745 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0745 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0769 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0824 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0835 ->
          _menhir_run_0836 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0842 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0998 ->
          _menhir_run_0999 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1003 ->
          _menhir_run_1004 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1008 ->
          _menhir_run_1009 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1013 ->
          _menhir_run_1014 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1018 ->
          _menhir_run_1019 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1023 ->
          _menhir_run_1024 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1028 ->
          _menhir_run_1029 _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 _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_1038 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_1186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1426 ->
          _menhir_run_1186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1322 ->
          _menhir_run_1323 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_1330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1364 ->
          _menhir_run_1365 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1369 ->
          _menhir_run_1370 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1374 ->
          _menhir_run_1375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_1380 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_1385 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_1390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_1395 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_1400 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1403 ->
          _menhir_run_1404 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1421 ->
          _menhir_run_1422 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0238 : 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_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0239 _menhir_initp
          | ASSERT | ASSUME | ATTRIBUTES | BACKTICK | BACKTICK_AT | BACKTICK_HASH | BACKTICK_PERC | BANG_LBRACE | BEGIN | CALC | CHAR _ | DECREASES | DOLLAR | ELIM | ENSURES | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | FUNCTION | HASH | IDENT _ | IF | IF_OP _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | INTRO | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LET | LET_OP _ | LPAREN | LPAREN_RPAREN | MATCH | MATCH_OP _ | MINUS | NAME _ | OPPREFIX _ | PERCENT_LBRACK | QUOTE | RANGE_OF | REAL _ | REIFY | REQUIRES | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | SYNTH | TILDE _ | TRUE | TRY | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_664 () in
              _menhir_run_0788 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0239 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0240 : type  ttv_stack ttv_result. ((ttv_stack, 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 = MenhirState0240 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_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_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 MenhirState0150 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0150 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0150 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0150 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0150 _menhir_initp
      | IDENT _v ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0150 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0150 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0150 _menhir_initp
      | DOT ->
          let _v = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v MenhirState0150 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0225 : 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 MenhirState0225 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0225 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0225 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0225 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0225 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0225 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0225 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0225 _menhir_initp
      | DOT ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState0225 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0241 : 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 MenhirState0241 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0241 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0241 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0241 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0241 _menhir_initp
      | IDENT _v ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0241 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0241 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0241 _menhir_initp
      | DOT ->
          let _v = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v MenhirState0241 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0788 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_EXISTS_OP, 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 _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_trigger (_menhir_stack, _menhir_s, _v, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0788 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0788 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0788 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0788 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0788 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0788 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0788 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0788 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0788 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0788 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0788 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0788 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0788 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0788 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0788 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0788 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0788 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0788 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0788 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0788 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0788 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0788 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0788 _menhir_initp
      | _ ->
          _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_219 () in
          _menhir_run_0929 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0929 : 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_115 _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_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0654 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0657 ->
          _menhir_run_0654 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0654 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0000 ->
          _menhir_run_1443 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_1443 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1444 ->
          _menhir_run_1443 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1446 ->
          _menhir_run_1443 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0394 : 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 MenhirState0395 _menhir_initp
          | REC ->
              _menhir_run_0089 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0395 _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_233 () in
              _menhir_run_0396 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState0395 _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_231 () in
      _menhir_goto_localletqualifier _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0654 : 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 = MenhirState0655 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | SQUIGGLY_RARROW ->
              _menhir_run_0397 _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_138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_reduce_138 : 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_138 () in
      _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1443 : 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_176 x in
      _menhir_goto_decoration _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0246 : 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 = 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
      | 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_0248 : 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 = MenhirState0248 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_0250 : 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 = MenhirState0250 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_0252 : 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 = MenhirState0252 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_0038 _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 ->
          _menhir_run_0045 _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
      | 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 MenhirState0835 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0835 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0835 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0835 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0835 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0835 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0835 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0835 _menhir_initp
          | DOT ->
              let _v = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v MenhirState0835 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0225 _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 MenhirState0841 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0841 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0841 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0841 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0841 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0841 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0841 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0841 _menhir_initp
          | DOT ->
              let _v = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_3 _endpos_3 _v MenhirState0841 _tok _menhir_initp
          | _ ->
              _eRR ())
      | 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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _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 _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_190 _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 MenhirState0387 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0387 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0387 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0387 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0387 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0387 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0387 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0387 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0387 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0387 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0387 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0387 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0387 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0387 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0387 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0387 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0387 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0387 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0387 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0387 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0387 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0387 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0387 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0387 _menhir_initp
      | _ ->
          _eRR ()
  
  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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_189 () in
      _menhir_goto_ifMaybeOp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _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 _menhir_stack = MenhirCell1_FUNCTION (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0190 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0193 _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_BAR (_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_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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0193 : 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 = MenhirState0193 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_0245 : 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 = MenhirState0245 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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 MenhirState0264 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _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, MenhirState0264, _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 MenhirState0265 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0265 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0265 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0265 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0265 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0265 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0265 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0265 _menhir_initp
          | DOT ->
              let _v = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v MenhirState0265 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _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, MenhirState0264, _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 MenhirState0735 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0735 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
          | DOT ->
              let _v = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_3 _endpos_3 _v MenhirState0735 _tok _menhir_initp
          | _ ->
              _eRR ())
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0264 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0264 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0268 : 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 = MenhirState0268 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 = MenhirState0269 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 _menhir_stack = MenhirCell1_CALC (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0270 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_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 _menhir_stack = MenhirCell1_ATTRIBUTES (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0273 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_0277 : 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 = MenhirState0277 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0278 : 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 = MenhirState0278 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0242 : 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_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
          | ASSERT | ASSUME | ATTRIBUTES | BACKTICK | BACKTICK_AT | BACKTICK_HASH | BACKTICK_PERC | BANG_LBRACE | BEGIN | CALC | CHAR _ | DECREASES | DOLLAR | ELIM | ENSURES | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | FUNCTION | HASH | IDENT _ | IF | IF_OP _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | INTRO | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LET | LET_OP _ | LPAREN | LPAREN_RPAREN | MATCH | MATCH_OP _ | MINUS | NAME _ | OPPREFIX _ | PERCENT_LBRACK | QUOTE | RANGE_OF | REAL _ | REIFY | REQUIRES | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | SYNTH | TILDE _ | TRUE | TRY | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_664 () in
              _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0243 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0244 : 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 _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_trigger (_menhir_stack, _menhir_s, _v, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0244 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0244 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0244 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0244 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0244 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0244 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0244 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0244 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0244 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0244 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0244 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0244 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0244 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0244 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0244 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0244 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0244 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0244 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0244 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0244 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0244 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0244 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0244 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0266 : 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 = MenhirState0267 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_0240 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0512 : 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_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0513 _menhir_initp
          | ASSERT | ASSUME | ATTRIBUTES | BACKTICK | BACKTICK_AT | BACKTICK_HASH | BACKTICK_PERC | BANG_LBRACE | BEGIN | CALC | CHAR _ | DECREASES | DOLLAR | ELIM | ENSURES | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | FUNCTION | HASH | IDENT _ | IF | IF_OP _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | INTRO | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LET | LET_OP _ | LPAREN | LPAREN_RPAREN | MATCH | MATCH_OP _ | MINUS | NAME _ | OPPREFIX _ | PERCENT_LBRACK | QUOTE | RANGE_OF | REAL _ | REIFY | REQUIRES | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | SYNTH | TILDE _ | TRUE | TRY | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_664 () in
              _menhir_run_0514 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0513 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0514 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_FORALL_OP, 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 _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_trigger (_menhir_stack, _menhir_s, _v, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0514 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0514 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0514 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0514 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0514 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0514 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0514 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0514 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0514 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0514 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0514 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0514 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0514 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0514 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0514 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0514 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0514 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0514 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0514 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0514 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0514 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0514 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0736 : 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 = MenhirState0737 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_0240 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0745 : 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_532 _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
      | MenhirState0741 ->
          _menhir_run_0742 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0756 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0760 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0853 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0742 : 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 = MenhirState0743 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0756 : 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 = MenhirState0757 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0760 : 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 = MenhirState0761 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0853 : type  ttv_stack ttv_result. ((((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_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 = MenhirState0854 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0769 : 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 = MenhirState0770 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0824 : 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_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0825 _menhir_initp
          | ASSERT | ASSUME | ATTRIBUTES | BACKTICK | BACKTICK_AT | BACKTICK_HASH | BACKTICK_PERC | BANG_LBRACE | BEGIN | CALC | CHAR _ | DECREASES | DOLLAR | ELIM | ENSURES | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | FUNCTION | HASH | IDENT _ | IF | IF_OP _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | INTRO | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LET | LET_OP _ | LPAREN | LPAREN_RPAREN | MATCH | MATCH_OP _ | MINUS | NAME _ | OPPREFIX _ | PERCENT_LBRACK | QUOTE | RANGE_OF | REAL _ | REIFY | REQUIRES | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | SYNTH | TILDE _ | TRUE | TRY | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_664 () in
              _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0825 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0728 : 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 _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_trigger (_menhir_stack, _menhir_s, _v, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _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
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0728 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0728 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 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
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0728 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _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_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0728 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0728 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0728 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0728 _menhir_initp
      | LET ->
          _menhir_run_0087 _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_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0728 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0728 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0728 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0728 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0728 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0728 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0728 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0728 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0728 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0728 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer 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
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0836 : 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 = MenhirState0837 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_0240 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0842 : 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 = MenhirState0843 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_0240 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0999 : 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 = MenhirState1000 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1004 : 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 = MenhirState1005 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1009 : 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 = MenhirState1010 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1014 : 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 = MenhirState1015 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1019 : 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 = MenhirState1020 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1024 : 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 = MenhirState1025 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1029 : 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 = MenhirState1030 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1034 : 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 = MenhirState1035 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1038 : 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 = MenhirState1039 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1186 : 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_667 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
      | MenhirState1047 ->
          _menhir_run_1048 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1426 ->
          _menhir_run_1427 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1048 : 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 = MenhirState1049 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _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_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_ascribeKind_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0456 : 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 = MenhirState0456 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_0457 _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_0460 _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_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0510 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0150 _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_0516 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0315 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0518 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0457 : 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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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_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_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _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 MenhirState0457 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _menhir_initp
      | FORALL ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _menhir_initp
      | EXISTS_OP _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0457 _menhir_initp
      | EXISTS ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _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 MenhirState0457 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0457 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0460 : 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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0460 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _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 MenhirState0460 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0460 _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 MenhirState0460 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0460 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0460 _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 MenhirState0460 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0460 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0510 : 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 MenhirState0510 _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_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
      | 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 MenhirState0510 _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 MenhirState0510 _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 MenhirState0510 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0510 _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 MenhirState0510 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0510 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0510 _menhir_initp
      | DOT ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v_3 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_3 MenhirState0510 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0516 : 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 MenhirState0516 _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_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
      | 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 MenhirState0516 _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 MenhirState0516 _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 MenhirState0516 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0516 _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 MenhirState0516 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0516 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0516 _menhir_initp
      | DOT ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v_3 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_3 MenhirState0516 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0312 : 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_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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) 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_0314 : 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_0315 : 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_0518 : 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_100 _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_0545 : 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 = MenhirState0545 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _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 MenhirState1053 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1053 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1053 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1053 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1053 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1053 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1053 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1053 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1053 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState1053 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1053 _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | LBRACE ->
              let _menhir_s = MenhirState1053 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 = MenhirState1054 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_1055 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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 MenhirState1053 _menhir_initp
          | INT64 _v_31 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1053 _menhir_initp
          | INT32 _v_32 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1053 _menhir_initp
          | INT16 _v_33 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1053 _menhir_initp
          | INT _v_34 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1053 _menhir_initp
          | IDENT _v_35 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1053 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | FORALL_OP _v_36 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1053 _menhir_initp
          | FORALL ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | EXISTS_OP _v_37 ->
              _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1053 _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | CHAR _v_38 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1053 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | BAR ->
              _menhir_run_1159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1053 _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_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_225 () in
              _menhir_run_1177 _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_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_669 () in
          _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1055 : 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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _menhir_initp
      | TRY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | UINT8 _v_2 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1056 _menhir_initp
          | UINT64 _v_3 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1056 _menhir_initp
          | UINT32 _v_4 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1056 _menhir_initp
          | UINT16 _v_5 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1056 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | STRING _v_6 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1056 _menhir_initp
          | SIZET _v_7 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1056 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _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_057 _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_098 _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_392 _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, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | REAL _v_10 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState1056 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | OPPREFIX _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState1056 _menhir_initp
          | NAME _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState1056 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | INT8 _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1056 _menhir_initp
          | INT64 _v_14 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1056 _menhir_initp
          | INT32 _v_15 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1056 _menhir_initp
          | INT16 _v_16 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1056 _menhir_initp
          | INT _v_17 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1056 _menhir_initp
          | IDENT _v_18 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1056 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | CHAR _v_19 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1056 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1055, _v, _startpos_0, _endpos_1) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _menhir_initp
      | REQUIRES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | UINT8 _v_22 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState1058 _menhir_initp
          | UINT64 _v_23 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState1058 _menhir_initp
          | UINT32 _v_24 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState1058 _menhir_initp
          | UINT16 _v_25 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState1058 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | STRING _v_26 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState1058 _menhir_initp
          | SIZET _v_27 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState1058 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _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_055 _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_096 _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_390 _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, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | REAL _v_30 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState1058 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | OPPREFIX _v_31 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1058 _menhir_initp
          | NAME _v_32 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1058 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | INT8 _v_33 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1058 _menhir_initp
          | INT64 _v_34 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1058 _menhir_initp
          | INT32 _v_35 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1058 _menhir_initp
          | INT16 _v_36 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1058 _menhir_initp
          | INT _v_37 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1058 _menhir_initp
          | IDENT _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1058 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | CHAR _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState1058 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1055, _v, _startpos_20, _endpos_21) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1058 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | UINT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | UINT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | UINT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | UINT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | TILDE _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | STRING _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | SIZET _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _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_058 _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_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_41, _startpos_40, (), _endpos_43) in
                  let _v = _menhir_action_393 _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, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | REAL _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | QUOTE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | OPPREFIX _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | NAME _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | INT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | INT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | INT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | INT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | INT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | IDENT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | FUN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | FORALL_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | FORALL ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | EXISTS_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | EXISTS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | CHAR _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1060 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | BACKTICK_HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | BACKTICK_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
          | BACKTICK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1055, _startpos_40, _endpos_41) in
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _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 MenhirState1055 _menhir_initp
      | MATCH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_47 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_48 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_49 MenhirState1062 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_50 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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_060 _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_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_45, _startpos_44, _v, _endpos_53) in
                  let _v = _menhir_action_395 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState1062 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_55 MenhirState1062 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_56 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_57 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_59 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_60 MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState1062 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _menhir_initp
          | DOT_DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState1062 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1055, _v, _startpos_44, _endpos_45) in
              _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1062 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | INTRO ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _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 MenhirState1055 _menhir_initp
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | IF_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1055 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | IF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | FUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1064 _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_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_64, _startpos_63, _v, _endpos_66, _startpos_65) 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_64, _startpos_63, _v, _endpos_66) in
                  let _v = _menhir_action_397 _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, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1064 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1064 _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, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1064 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1064 _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, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState1064 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1064 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1055, _v, _startpos_63, _endpos_64) in
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1064 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1055, _v, _startpos_63, _endpos_64) in
              let _v_68 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_64 _endpos_64 _v_68 MenhirState1064 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FORALL ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1066 _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_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_70, _startpos_69, _v, _endpos_72, _startpos_71) 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_70, _startpos_69, _v, _endpos_72) in
                  let _v = _menhir_action_396 _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, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1066 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1066 _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, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1066 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1066 _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, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState1066 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1066 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1055, _v, _startpos_69, _endpos_70) in
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1066 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1055, _v, _startpos_69, _endpos_70) in
              let _v_74 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_70 _endpos_70 _v_74 MenhirState1066 _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | ENSURES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | ELIM ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | DECREASES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _menhir_initp
      | CALC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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 MenhirState1055 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | ATTRIBUTES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | ASSUME ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
      | ASSERT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _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_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_76, _startpos_75, _v, _endpos_78, _startpos_77) in
                  let _v = _menhir_action_100 _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_394 _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 = MenhirState1118 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1159 : 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 = MenhirState1159 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_1177 : 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_673 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_668 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
      | MenhirState1042 ->
          _menhir_run_1043 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_1043 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_1432 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1043 : 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 = MenhirState1044 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_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_509 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
      | MenhirState1044 ->
          _menhir_run_1045 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_1187 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1045 : 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_510 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_1187 : 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_423 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_174 _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_1432 : 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_674 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_175 _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_1427 : 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 = MenhirState1428 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1323 : 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 = MenhirState1324 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1330 : 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 = MenhirState1331 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1365 : 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 = MenhirState1366 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1370 : 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 = MenhirState1371 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1375 : 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 = MenhirState1376 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1380 : 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 = 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1385 : 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 = MenhirState1386 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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 = MenhirState1391 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1395 : 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 = MenhirState1396 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1400 : 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 = MenhirState1401 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1404 : 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 = MenhirState1405 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1422 : 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 = MenhirState1423 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0924 : 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_385 _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_0135 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0134 _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_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_215 () in
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0135 : 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 = MenhirState0135 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_0139 : 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_105 _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_0440 : 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 MenhirState0440 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0440 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0440 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0440 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0440 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0440 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0440 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0440 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0440 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | QUOTE ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0440 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0440 _menhir_initp
      | MINUS ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | LBRACE ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0440 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0440 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0440 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0440 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0440 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0440 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0440 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0153 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0440 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0557 : 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 MenhirState0557 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0557 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0557 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0557 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0557 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0557 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0557 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0557 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0557 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0557 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0557 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0557 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0557 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0557 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0557 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0557 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0557 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0557 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0557 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0557 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0557 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0567 : 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 MenhirState0567 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0567 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0567 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0567 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0567 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0567 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0567 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0567 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0567 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0567 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0567 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0567 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0567 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0567 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0567 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0567 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0567 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0567 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0567 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0567 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0567 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0955 : 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 MenhirState0955 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0955 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0955 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0955 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0955 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0955 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0955 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0955 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0955 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0955 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0955 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0955 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0955 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0955 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0955 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0955 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0955 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0955 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0955 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0955 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0955 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1120 : 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_039 _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, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1121 _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, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1121 _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_037 _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, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1121 _menhir_initp
          | OPINFIX3R _v_14 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1121 _menhir_initp
          | OPINFIX3L _v_15 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1121 _menhir_initp
          | OPINFIX2 _v_16 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1121 _menhir_initp
          | OPINFIX1 _v_17 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1121 _menhir_initp
          | OPINFIX0d _v_18 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1121 _menhir_initp
          | OPINFIX0c _v_19 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1121 _menhir_initp
          | OPINFIX0b _v_20 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1121 _menhir_initp
          | OPINFIX0a _v_21 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState1121 _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_040 _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_042 _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, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1121 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1121 _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_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 ())
          | 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_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 ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1121 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1121 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1121 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1121 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1120, _startpos_0, _endpos) in
              _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1121 _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_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 ())
          | _ ->
              _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 MenhirState1120 _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 MenhirState1120 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0909 : 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_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 ->
      let (_endpos_pat_, _startpos_pat_, pat) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_168 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_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0215 _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 _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0944 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0215 : 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 = MenhirState0216 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0193 _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_0219 _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_513 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_0219 : 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 = 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0193 _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_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0217 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0946 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0199 : 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_666 _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
      | MenhirState0190 ->
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0623 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0623 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0623 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0636 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0896 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0900 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0900 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0197 : 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 = MenhirState0198 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0193 _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_511 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
      | MenhirState0198 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0200 : 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_512 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_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_pats_, _startpos_pats_, pats) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_179 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, MenhirState0223) in
          let _menhir_s = MenhirState0224 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | SQUIGGLY_RARROW ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0223 _menhir_initp
      | RARROW ->
          _menhir_run_0792 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0223 _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0791 : 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_240 () 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
      | MenhirState0790 ->
          _menhir_run_0793 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0223 ->
          _menhir_run_0795 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0793 : 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 MenhirState0793 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0793 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0793 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0793 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0793 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0793 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0793 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0793 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0793 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0793 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0793 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0793 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0793 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0793 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0793 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0793 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0793 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0793 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0793 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0793 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0793 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0793 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0793 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0793 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0795 : 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 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
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0795 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0795 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 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
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0795 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _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_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0795 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0795 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0795 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0795 _menhir_initp
      | LET ->
          _menhir_run_0087 _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_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0795 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0795 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0795 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0795 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0795 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0795 _menhir_initp
      | IF ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0795 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0795 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _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_20 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0795 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0795 _menhir_initp
      | CALC ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer 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
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0792 : 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_239 () in
      _menhir_goto_maybeFocusArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0462 : 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_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0462 _menhir_initp
      | AND_OP _ | EQUALS | IN ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0463 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0462 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0455 : 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 = MenhirState0455 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0463 : 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 = MenhirState0464 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND_OP _ | IN ->
          let _v = _menhir_action_333 () 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_207 _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_0503 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0505 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0503 : 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_0504 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0503 _menhir_initp
      | IN ->
          let _v_1 = _menhir_action_213 () in
          _menhir_run_0507 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0503 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0504 : 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 = MenhirState0504 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0507 : 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_12_ (_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 = MenhirState0508 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0505 : 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_0504 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0505 _menhir_initp
      | IN ->
          let _v_1 = _menhir_action_213 () in
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0506 : 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_214 _endpos_op_ _startpos_op_ b op xs in
      _menhir_goto_list___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_list___anonymous_12_ : 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
      | MenhirState0505 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0507 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0623 : 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_, pat) = (_endpos_1, _v) 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
      | COLON ->
          let _menhir_stack = MenhirCell1_tuplePattern (_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 (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0625 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_0132 _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_0147 _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_0148 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0128 _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_0129 _menhir_stack _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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0159 _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 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 = MenhirState0636 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 = 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0636 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0896 : 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_183 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 MenhirState0898 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0898 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_483 () in
              _menhir_run_0899 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_484 x in
          _menhir_goto_right_flexible_list_SEMICOLON_fieldPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0899 : 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_485 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
      | MenhirState0096 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0898 ->
          _menhir_run_0899 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0900 : 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 MenhirState0901 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0901 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0901 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0901 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0901 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0901 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0901 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0901 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | NAME _v_8 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0901 _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LBRACK ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | INT8 _v_9 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0901 _menhir_initp
          | INT64 _v_10 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0901 _menhir_initp
          | INT32 _v_11 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0901 _menhir_initp
          | INT16 _v_12 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0901 _menhir_initp
          | INT _v_13 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0901 _menhir_initp
          | IDENT _v_14 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0901 _menhir_initp
          | HASH ->
              _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | DOT_DOT ->
              _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | CHAR _v_15 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0901 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | RBRACK ->
              let _v_16 = _menhir_action_498 () in
              _menhir_run_0902 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_499 x in
          _menhir_goto_right_flexible_list_SEMICOLON_tuplePattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0902 : 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_500 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
      | MenhirState0901 ->
          _menhir_run_0902 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0903 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0903 : 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_071 _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_0217 : 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_514 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_0946 : 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_073 _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_0220 : 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_0219 _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_166 _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_0944 : 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 = MenhirState0945 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON_COLON ->
          _menhir_run_0219 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0934 : 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_0397 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0934 _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 = MenhirState0934 in
          let _v = _menhir_action_138 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0966 : 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_382 _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_0939 : 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_118 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_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0913 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0919 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0213 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0225 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0265 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0510 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0835 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0879 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0998 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1003 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1008 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1013 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1018 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1023 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1028 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1066 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1322 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1364 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1369 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1374 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1403 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1421 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1426 ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0233 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0352 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0442 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0528 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0561 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0572 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0950 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0960 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_1098 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_1098 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_1098 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1163 ->
          _menhir_run_1098 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_1098 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1120 ->
          _menhir_run_1139 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1159 ->
          _menhir_run_1173 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_1180 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0206 : 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
      | IDENT _v_0 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0206 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0213 : 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
      | IDENT _v_0 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0213 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0229 : 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 MenhirState0229 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0229 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0235 : 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 MenhirState0235 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0235 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0342 : 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 MenhirState0342 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0342 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0342 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0342 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0342 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0342 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0342 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0342 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0342 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0342 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0342 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0342 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0342 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0342 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0342 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0342 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0342 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0342 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0342 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0342 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0342 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0352 : 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 MenhirState0352 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0352 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0352 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0352 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0352 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0352 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0352 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0352 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0352 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0352 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0352 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0352 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0352 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0352 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0352 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0352 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0352 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0352 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0352 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0352 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0352 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0438 : 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 MenhirState0438 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0438 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0438 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0438 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0438 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0438 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0438 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0438 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0438 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | QUOTE ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0438 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0438 _menhir_initp
      | MINUS ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | LBRACE ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0438 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0438 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0438 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0438 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0438 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0438 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0438 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0153 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0438 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0442 : 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 MenhirState0442 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0442 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0442 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0442 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0442 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0442 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0442 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0442 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0442 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | QUOTE ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0442 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0442 _menhir_initp
      | MINUS ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | LBRACE ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0442 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0442 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0442 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0442 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0442 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0442 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0442 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0153 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0442 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0528 : 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 MenhirState0528 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0528 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0528 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0528 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0528 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0528 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0528 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0528 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0528 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0528 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0528 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0528 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0528 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0528 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0528 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0528 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0528 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0528 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0528 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0528 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0553 : 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 MenhirState0553 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0553 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0553 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0553 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0553 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0553 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0553 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0553 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0553 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0553 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0553 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0553 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0553 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0553 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0553 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0553 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0553 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0553 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0553 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0553 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0561 : 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 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
      | 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
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _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 ->
          _menhir_run_0045 _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
      | 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0561 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0572 : 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 MenhirState0572 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0572 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0572 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0572 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0572 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0572 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0572 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0572 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0572 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0572 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0572 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0572 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0572 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0572 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0572 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0572 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0572 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0572 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0572 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0572 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0572 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0950 : 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 MenhirState0950 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0950 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0950 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0950 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0950 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0950 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0950 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0950 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0950 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0950 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0950 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0950 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0950 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0950 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0950 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0950 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0950 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0950 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0950 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0950 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0960 : 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 MenhirState0960 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0960 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0960 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0960 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0960 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0960 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0960 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0960 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0960 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0960 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0960 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0960 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0960 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0960 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0960 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0960 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0960 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0960 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0960 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0960 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0960 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1098 : 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_048 _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, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1099 _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, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1099 _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_046 _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, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1099 _menhir_initp
          | OPINFIX3R _v_14 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1099 _menhir_initp
          | OPINFIX3L _v_15 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1099 _menhir_initp
          | OPINFIX2 _v_16 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1099 _menhir_initp
          | OPINFIX1 _v_17 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1099 _menhir_initp
          | OPINFIX0d _v_18 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1099 _menhir_initp
          | OPINFIX0c _v_19 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1099 _menhir_initp
          | OPINFIX0b _v_20 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1099 _menhir_initp
          | OPINFIX0a _v_21 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState1099 _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_049 _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_051 _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, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1099 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1099 _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_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 ())
          | 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_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 ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1099 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1099 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1099 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1099 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1098, _startpos_0, _endpos) in
              _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1099 _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_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 ())
          | _ ->
              _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 MenhirState1098 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1139 : 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_030 _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, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1140 _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, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1140 _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_028 _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, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1140 _menhir_initp
          | OPINFIX3R _v_14 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1140 _menhir_initp
          | OPINFIX3L _v_15 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1140 _menhir_initp
          | OPINFIX2 _v_16 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1140 _menhir_initp
          | OPINFIX1 _v_17 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1140 _menhir_initp
          | OPINFIX0d _v_18 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1140 _menhir_initp
          | OPINFIX0c _v_19 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1140 _menhir_initp
          | OPINFIX0b _v_20 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1140 _menhir_initp
          | OPINFIX0a _v_21 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState1140 _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_031 _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_033 _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, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1140 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1140 _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_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 ())
          | 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_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 ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1140 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1140 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1140 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1140 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1139, _startpos_0, _endpos) in
              _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1140 _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_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 ())
          | _ ->
              _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 MenhirState1139 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1173 : 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 MenhirState1173 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1180 : 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 MenhirState1180 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1180 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1180 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1180 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1180 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1180 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1180 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1180 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1180 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState1180 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1180 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | LBRACE ->
          let _menhir_s = MenhirState1180 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 = MenhirState1181 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_1055 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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 MenhirState1180 _menhir_initp
      | INT64 _v_30 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState1180 _menhir_initp
      | INT32 _v_31 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1180 _menhir_initp
      | INT16 _v_32 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1180 _menhir_initp
      | INT _v_33 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1180 _menhir_initp
      | IDENT _v_34 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1180 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | FORALL_OP _v_35 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1180 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | EXISTS_OP _v_36 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1180 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | CHAR _v_37 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1180 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1180 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0227 : 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, bs, _startpos_bs_) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_218 bs xs in
      _menhir_goto_list___anonymous_7_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_bs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list___anonymous_7_ : 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
      | MenhirState0226 ->
          _menhir_run_0227 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0225 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0265 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0510 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0835 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0879 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0998 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1003 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1008 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1013 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1018 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1023 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1028 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1066 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1322 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1364 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1369 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1374 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1403 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1421 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1426 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0833 : 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 MenhirState0833 _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 MenhirState0833 _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 MenhirState0833 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0833 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0833 _menhir_initp
      | COLON ->
          let x = _v in
          let _v = _menhir_action_288 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_0130 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0834 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0130 : 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 = 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
      | TILDE _v ->
          _menhir_run_0132 _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_0147 _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_0148 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0128 _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_0129 _menhir_stack _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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0834 : 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_289 x xs in
      _menhir_goto_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0230 : 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_065 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_0234 : 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_064 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_0236 : 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_063 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_0259 : 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_0260 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0260 : 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 = MenhirState0260 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_0382 : 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 = MenhirState0383 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON ->
          _menhir_run_0260 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0446 : 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 = 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_0132 _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_0147 _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_0148 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0128 _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_0129 _menhir_stack _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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0975 : 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_384 _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_0980 : 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_383 _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_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0294 _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
      | MenhirState0667 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0678 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0321 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0294 : 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 MenhirState0295 _menhir_initp
          | LPAREN ->
              _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0295 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0295 _menhir_initp
          | RBRACE ->
              let _v_3 = _menhir_action_495 () in
              _menhir_run_0662 _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_505 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_0296 : 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_392 _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 MenhirState0296 _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 MenhirState0296 _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_390 _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 MenhirState0296 _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 MenhirState0296 _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 MenhirState0296 _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 MenhirState0296 _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 MenhirState0296 _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 MenhirState0296 _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 MenhirState0296 _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 MenhirState0296 _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 MenhirState0296 _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_393 _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_395 _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_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0296 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0296 _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_397 _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_396 _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_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0296 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0296 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0296 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0296 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0296 _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_394 _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_0662 : 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_506 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_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0678 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0663 : 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_446 _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
      | MenhirState0293 ->
          _menhir_run_0664 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0826 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0887 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0887 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0887 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0664 : 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_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0665 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0665 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0665 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0665 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0665 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0665 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0665 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0665 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0665 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | LBRACE ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0665 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0665 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0665 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0665 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0665 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0665 _menhir_initp
      | HASH ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0665 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0665 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0665 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0665 _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_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_0683 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _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 _menhir_stack = MenhirCell1_UNIV_HASH (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0165 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0166 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0168 _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_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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_109 _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
      | MenhirState0175 ->
          _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0178 ->
          _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0180 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0180 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0181 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0178 : 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_0166 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0178 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0178 _menhir_initp
      | INT _v_0 ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0168 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0178 _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 MenhirState0178 _menhir_initp
      | OPINFIX2 _ | RPAREN ->
          let (_endpos_x_, x) = (_endpos, _v) in
          let _v = _menhir_action_294 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_0167 : 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 = MenhirState0167 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0166 _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_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0168 _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_0168 : 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_110 _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
      | MenhirState0175 ->
          _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0178 ->
          _menhir_run_0179 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0176 : 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_689 _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
      | MenhirState0167 ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0169 : 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_112 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 = MenhirState0171 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0166 _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_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0168 _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_0172 : 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_688 _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_0179 : 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_295 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_0180 : 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_687 ua in
      _menhir_goto_universeFrom _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ua_ _startpos_ua_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0181 : 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_686 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
      | MenhirState0164 ->
          _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
      | MenhirState0185 ->
          _menhir_run_0184 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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_universe (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0165 _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_0182 _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_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_0804 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0182 : 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 = MenhirState0182 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_0804 : 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
      | MenhirState0185 ->
          _menhir_run_0803 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0804 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0805 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0806 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0803 : 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_0805 : 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_0806 : 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
      | MenhirState0260 ->
          _menhir_run_0262 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _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
      | MenhirState0418 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _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
      | MenhirState0813 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0262 : 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_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0262 _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_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 = MenhirState0262 in
          let _v = _menhir_action_327 () in
          _menhir_goto_option___anonymous_13_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0263 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___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 ->
      let (_endpos_phi_opt_, _startpos_phi_opt_, phi_opt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_449 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
      | MenhirState0626 ->
          _menhir_run_0627 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0262 ->
          _menhir_run_0774 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0830 ->
          _menhir_run_0831 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0916 ->
          _menhir_run_0917 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0627 : 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 =
    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_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_, phi_opt) = (_endpos_1, _v) in
          let _v = _menhir_action_070 _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
      | _ ->
          _eRR ()
  
  and _menhir_run_0774 : 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_659 _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_654 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_657 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_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0529 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0529 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0529 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0531 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0533 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0535 _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 _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0539 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0541 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0546 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _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_0255 _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_0530 _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_0534 _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_0536 _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_0532 _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_0538 _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_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_629 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_0255 : 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 = MenhirState0255 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0530 : 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 = MenhirState0530 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0534 : 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 = MenhirState0534 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0536 : 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 = MenhirState0536 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0532 : 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 = MenhirState0532 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0538 : 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 = MenhirState0538 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _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_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0287 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0686 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0688 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0690 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0692 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0694 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0696 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0698 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0700 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0775 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0968 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0285 : 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_0286 _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_0288 _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_0290 _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_0685 _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_0689 _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_0691 _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_0693 _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_0697 _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_0687 _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_0695 _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 = MenhirState0699 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_594 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_0286 : 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 = MenhirState0286 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0288 : 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 = MenhirState0288 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0290 : 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 = 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0685 : 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 = MenhirState0685 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_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 = MenhirState0689 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0691 : 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 = MenhirState0691 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0693 : 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 = MenhirState0693 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0697 : 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 = MenhirState0697 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0687 : 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 = MenhirState0687 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0695 : 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 = MenhirState0695 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0969 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0330 : 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 = 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_515 x in
          _menhir_goto_separated_nonempty_list_COMMA_tmEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_separated_nonempty_list_COMMA_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
      | MenhirState0331 ->
          _menhir_run_0332 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0971 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0332 : 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, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_516 x xs in
      _menhir_goto_separated_nonempty_list_COMMA_tmEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0338 : 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_el_, _startpos_el_, el) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_661 _endpos_el_ _startpos_el_ el in
      _menhir_goto_tmTuple _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_el_ _startpos_el_ _v _menhir_s _tok _menhir_initp
  
  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_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0765 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0863 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0279 : 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_593 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_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0752 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0763 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0857 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0861 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0335 : 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_0336 _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_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_631 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_0336 : 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 = MenhirState0336 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0343 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0343 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0343 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0347 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0347 _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
      | MenhirState0572 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0746 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0748 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _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
      | MenhirState0108 ->
          _menhir_run_0889 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0951 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0956 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0961 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _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
          let _menhir_s = MenhirState0283 in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_RARROW (_menhir_stack, _menhir_s, _endpos) in
          let _menhir_s = MenhirState0284 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0283 _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_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_582 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_0350 : 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 = MenhirState0350 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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
      | MenhirState0014 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0355 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0701 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0892 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0954 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0959 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0964 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0339 : 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 = MenhirState0340 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_635 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_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0280 : 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 = MenhirState0281 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_633 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
      | MenhirState0281 ->
          _menhir_run_0282 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0358 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0374 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0377 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0525 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0704 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0727 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0776 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0965 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_1001 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_1006 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_1011 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_1016 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_1021 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_1026 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_1031 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_1036 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_1040 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_1119 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_1162 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_1167 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_1170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_1176 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_1196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_1200 _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
      | MenhirState1236 ->
          _menhir_run_1237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_1248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_1332 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_1338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_1367 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_1372 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_1377 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_1382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_1387 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_1392 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_1397 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_1402 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_1406 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_1417 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_1429 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0282 : 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_632 _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_0325 : 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 = MenhirState0326 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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 = MenhirState0357 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_247 e in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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
      | MenhirState0324 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0384 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0388 _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 _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0489 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0494 _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
      | MenhirState0278 ->
          _menhir_run_0702 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0706 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0707 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0721 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0725 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0730 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0738 _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 _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0744 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0750 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0754 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0758 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0762 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0767 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0771 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0772 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0838 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0840 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0844 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0848 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0855 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0860 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0865 _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 _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0992 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0361 : 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_530 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_0379 : 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
          let _v = _v_0 in
          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 = MenhirState0380 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | SEMICOLON ->
          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_SEMICOLON (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0659 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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 | 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_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_565 e in
          _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _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
      | MenhirState0362 ->
          _menhir_run_0363 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0381 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0386 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0465 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0468 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0473 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0476 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0479 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0486 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0491 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0496 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0509 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0515 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0586 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0592 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0598 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0604 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0610 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0616 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0622 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0635 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0638 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0641 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0646 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0653 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0660 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0718 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0729 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0789 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0794 _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
      | MenhirState0187 ->
          _menhir_run_0801 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0868 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0895 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0923 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0931 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0933 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0938 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0948 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0977 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_1231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_1502 _menhir_stack _v
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0363 : 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_0364 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | RETURNS_EQ ->
          let _menhir_s = MenhirState0363 in
          let _v = _menhir_action_325 () in
          _menhir_goto_option___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS ->
          let _menhir_s = MenhirState0363 in
          let _v = _menhir_action_337 () in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | WITH ->
          let _v_2 = _menhir_action_345 () in
          _menhir_run_0366 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0363 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0364 : 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 = MenhirState0364 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_10_ : 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_10_ (_menhir_stack, _menhir_s, _v) 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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 _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RETURNS (_menhir_stack, _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_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 = MenhirState0367 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0193 _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_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_452 () in
              _menhir_goto_reverse_left_flexible_list_BAR___anonymous_11_ _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_11_ : 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_11_ (_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 = MenhirState0369 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0193 _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_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_264 _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_0381 : 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_567 _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_0386 : 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_568 _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_0465 : 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_334 tm in
      _menhir_goto_option___anonymous_4_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
  
  and _menhir_run_0468 : 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 = MenhirState0469 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0470 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0278 _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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _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_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _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_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _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_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _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_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_296 _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_0187 : 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 = MenhirState0187 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0472 : 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 = MenhirState0472 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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 = MenhirState0475 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0478 : 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 = MenhirState0478 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _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
      | MenhirState0480 ->
          _menhir_run_0481 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0481 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0477 ->
          _menhir_run_0482 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0482 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0487 ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0802 ->
          _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0466 ->
          _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0481 : 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_301 _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_0482 : 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_302 _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_0483 : 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_303 _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_0484 : 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_300 _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_0500 : 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_191 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
      | MenhirState0131 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0164 _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
      | MenhirState0164 ->
          _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
      | MenhirState0185 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | 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
      | MenhirState0092 ->
          _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
      | MenhirState0109 ->
          _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
      | MenhirState0149 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _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
      | MenhirState0252 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _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
      | MenhirState0293 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _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
      | MenhirState0336 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _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
      | MenhirState0357 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _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
      | MenhirState0380 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _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
      | MenhirState0392 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _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
      | MenhirState0488 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _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
      | MenhirState0508 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _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
      | MenhirState0538 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _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
      | MenhirState0545 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _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
      | MenhirState0563 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _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
      | MenhirState0640 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _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
      | MenhirState0687 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _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
      | MenhirState0703 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _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
      | MenhirState0747 ->
          _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
      | MenhirState0751 ->
          _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
      | MenhirState0757 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _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
      | MenhirState0866 ->
          _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
      | MenhirState0891 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _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
      | MenhirState1230 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _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
      | MenhirState1386 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0681 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _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_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0164 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0164 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0164 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0164 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0164 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0164 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0164 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0164 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0164 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0164 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0164 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0164 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0164 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0164 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0164 _menhir_initp
      | HASH ->
          _menhir_run_0182 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0164 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0164 _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_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_0806 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0183 : 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_0165 _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_0182 _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_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_0805 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0185 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0185 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0185 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0185 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0185 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0185 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0185 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0185 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0185 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0185 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0185 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0185 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0185 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0185 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0185 _menhir_initp
      | HASH ->
          _menhir_run_0182 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0185 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _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_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_0803 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0292 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0292 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0292 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0292 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0292 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0292 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0292 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0292 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0292 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | LBRACE ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0292 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0292 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0292 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0292 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0292 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0292 _menhir_initp
      | HASH ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0292 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0292 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0292 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0292 _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_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_0684 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0293 : 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 = MenhirState0293 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0666 : 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 = MenhirState0666 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 = MenhirState0667 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _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_0684 : 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
      | MenhirState0187 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _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
      | MenhirState0252 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _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
      | MenhirState0324 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _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
      | MenhirState0336 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _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
      | MenhirState0357 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _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
      | MenhirState0380 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _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
      | MenhirState0392 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _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
      | MenhirState0488 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _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
      | MenhirState0508 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _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
      | MenhirState0538 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _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
      | MenhirState0545 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _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
      | MenhirState0563 ->
          _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
      | MenhirState0570 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _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
      | MenhirState0585 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _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
      | MenhirState0615 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _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
      | MenhirState0640 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _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
      | MenhirState0687 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _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
      | MenhirState0703 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _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
      | MenhirState0747 ->
          _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
      | MenhirState0751 ->
          _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
      | MenhirState0757 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _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
      | MenhirState0866 ->
          _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
      | MenhirState0891 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _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
      | MenhirState1230 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _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
      | MenhirState1386 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _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
      | MenhirState0786 ->
          _menhir_run_0785 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _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
      | _ ->
          _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_660 e in
      _menhir_goto_tmRefinement _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0677 : 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 = MenhirState0678 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_0296 _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_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 ->
      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 = MenhirState0786 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_519 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
      | MenhirState0240 ->
          _menhir_run_0778 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0778 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0787 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0778 : 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_144 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 = MenhirState0783 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_517 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
      | MenhirState0240 ->
          _menhir_run_0779 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0784 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0779 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let pats = _v in
      let _v = _menhir_action_178 pats in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _menhir_s) = _menhir_stack in
      let (_endpos__3_, pats) = (_endpos, _v) in
      let _v = _menhir_action_665 pats in
      _menhir_goto_trigger _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_trigger : type  ttv_stack ttv_result. ((ttv_stack, 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 _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0243 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0514 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0239 ->
          _menhir_run_0788 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0784 : 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_518 x xs in
      _menhir_goto_separated_nonempty_list_DISJUNCTION_conjunctivePat_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0787 : 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_520 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_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
      | 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 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
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _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
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0927 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0927 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0927 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0927 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0927 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0927 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0927 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0927 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | FORALL_OP _v_16 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0927 _menhir_initp
          | FORALL ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | EXISTS_OP _v_17 ->
              _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0927 _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | CHAR _v_18 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0927 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | RBRACE ->
              let _v_19 = _menhir_action_477 () in
              _menhir_run_0928 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_478 x in
          _menhir_goto_right_flexible_list_COMMA_appTerm_ _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_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_479 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_0924 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0928 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0672 : 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_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0672 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0672 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0672 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0672 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0672 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0672 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0672 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0672 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0672 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LBRACE ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0672 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0672 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0672 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0672 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0672 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0672 _menhir_initp
      | HASH ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0672 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0672 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0672 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _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_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_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0673 : 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
      | MenhirState0672 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0675 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0682 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0683 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0684 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0674 : 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_0675 : 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_0682 : 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_0683 : 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_0681 : 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_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0681 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0681 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0681 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0681 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0681 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0681 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0681 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0681 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0681 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | LBRACE ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0681 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0681 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0681 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0681 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0681 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0681 _menhir_initp
      | HASH ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0681 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0681 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0681 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0681 _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_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_0682 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0473 : 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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0474 _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_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0474 _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_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0474 _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_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0474 _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_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_299 _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_0476 : 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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0477 _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_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0477 _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_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0477 _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_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0477 _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_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_298 _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_0479 : 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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0480 _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_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0480 _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_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0480 _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_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0480 _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_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_297 _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_0486 : 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 = MenhirState0487 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0488 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0278 _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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0487 _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_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0487 _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_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0487 _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_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0487 _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_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_299 _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_0491 : 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 = MenhirState0492 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0493 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0278 _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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0492 _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_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0492 _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_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0492 _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_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0492 _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_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_298 _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_0496 : 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 = 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0278 _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_0187 _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_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0472 _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_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0475 _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_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0478 _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_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_297 _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_0509 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET_OP, ttv_result) _menhir_cell1_letoperatorbinding, ttv_result) _menhir_cell1_list___anonymous_12_ _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_12_ (_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_268 _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_0515 : 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_trigger -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_trigger (_menhir_stack, _, trigger, _) = _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_311 _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op trigger 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_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0581 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0671 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0671 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0671 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0671 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0671 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0671 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0680 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0258 : 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_0581 : 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_663 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_571 _endpos_t_ _startpos_t_ t in
      let _endpos = _endpos_t_ in
      let (_endpos_tactic_, tactic) = (_endpos, _v) in
      let _v = _menhir_action_336 tactic in
      _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _v _tok _menhir_initp
  
  and _menhir_goto_option___anonymous_8_ : 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_068 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
      | MenhirState0454 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0462 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0589 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0595 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0601 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0613 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0619 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0632 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0502 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0639 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0502 : 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_342 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
      | MenhirState0462 ->
          _menhir_run_0463 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0454 ->
          _menhir_run_0584 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0589 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0595 ->
          _menhir_run_0596 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0601 ->
          _menhir_run_0602 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0608 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0613 ->
          _menhir_run_0614 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0619 ->
          _menhir_run_0620 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0632 ->
          _menhir_run_0633 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0644 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0584 : 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_patternOrMultibinder_ 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 = MenhirState0585 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0590 : 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_patternOrMultibinder_ 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 = MenhirState0591 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0596 : 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_patternOrMultibinder_ 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 = MenhirState0597 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0602 : 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_patternOrMultibinder_ 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 = MenhirState0603 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0608 : 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_patternOrMultibinder_ 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 = MenhirState0609 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0614 : 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_patternOrMultibinder_ 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 = MenhirState0615 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0620 : 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_patternOrMultibinder_ 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 = MenhirState0621 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0633 : 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_patternOrMultibinder_ 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 = MenhirState0634 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0644 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_lident, ttv_result) _menhir_cell1_nonempty_list_patternOrMultibinder_ 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 = MenhirState0645 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0639 : 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 = MenhirState0640 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0671 : 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_0680 : 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_0520 : 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_185 () 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 MenhirState0524 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0524 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0524 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0524 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0524 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0524 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0524 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0524 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0524 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0524 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0524 _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0524 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0524 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0524 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0524 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0524 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0524 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | FORALL_OP _v_16 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0524 _menhir_initp
          | FORALL ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | EXISTS_OP _v_17 ->
              _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0524 _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | CHAR _v_18 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0524 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0524 _menhir_initp
          | _ ->
              _eRR ())
      | RPAREN ->
          let _v = _menhir_action_347 () 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_381 _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_0586 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_199 _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
      | MenhirState0396 ->
          _menhir_run_0647 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0648 ->
          _menhir_run_0649 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0656 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0934 ->
          _menhir_run_0935 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_1355 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1356 ->
          _menhir_run_1355 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1407 ->
          _menhir_run_1408 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0647 : 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 MenhirState0647 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0647 _menhir_initp
      | AND ->
          _menhir_run_0648 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0647 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_221 () in
          _menhir_run_0651 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0647 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0648 : 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 = MenhirState0648 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0397 _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_138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0651 : 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 = MenhirState0652 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0649 : 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_113 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 MenhirState0657 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0657 _menhir_initp
      | AND ->
          _menhir_run_0648 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0657 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_221 () in
          _menhir_run_0658 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0658 : 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_222 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
      | MenhirState0647 ->
          _menhir_run_0651 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0657 ->
          _menhir_run_0658 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0936 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0936 : 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 = MenhirState0937 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0656 : 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_114 lb x in
      _menhir_goto_attr_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0935 : 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 MenhirState0935 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0935 _menhir_initp
      | AND ->
          _menhir_run_0648 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0935 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_221 () in
          _menhir_run_0936 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0935 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1355 : 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 = MenhirState1356 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | SQUIGGLY_RARROW ->
              _menhir_run_0397 _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_138 _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_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_507 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
      | MenhirState1353 ->
          _menhir_run_1354 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1356 ->
          _menhir_run_1357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1354 : 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_425 _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_1357 : 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_508 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_1408 : 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_675 _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_0592 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_197 _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_0598 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_200 _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_0604 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_202 _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_0610 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_204 _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_0616 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_203 _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_0622 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_201 _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_0635 : 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_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_198 _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_0638 : 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_206 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_0641 : 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_205 _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_0646 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_lident, ttv_result) _menhir_cell1_nonempty_list_patternOrMultibinder_, 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_patternOrMultibinder_ (_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_196 _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_0653 : 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_267 _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_0660 : 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_566 _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_0718 : 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_352 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 = MenhirState0720 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0729 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_trigger -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_trigger (_menhir_stack, _, trigger, _) = _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_309 _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e trigger in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0777 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_trigger -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_trigger (_menhir_stack, _, trigger, _) = _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_310 _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e trigger in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0789 : 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_trigger -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_trigger (_menhir_stack, _, trigger, _) = _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_312 _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op trigger in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0794 : 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_358 _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
      | MenhirState0192 ->
          _menhir_run_0222 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0370 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0371 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0799 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0800 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0800 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0222 : 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_456 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
      | MenhirState0190 ->
          _menhir_run_0797 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0979 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0797 : 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_0798 _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_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_269 _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_0798 : 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 = MenhirState0798 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0979 : 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_0798 _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_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_263 _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_0370 : 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_11_ _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_11_ (_menhir_stack, _menhir_s, xs, _startpos_xs_, _) = _menhir_stack in
      let (_endpos_pb_, pb) = (_endpos, _v) in
      let _v = _menhir_action_454 pb xs in
      _menhir_goto_reverse_left_flexible_list_BAR___anonymous_11_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pb_ _startpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0371 : 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_453 pb in
      _menhir_goto_reverse_left_flexible_list_BAR___anonymous_11_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pb_ _startpos_pb_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0799 : 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_457 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_0800 : 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_455 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_0796 : 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_357 _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_0801 : 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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0802 _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_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0802 _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_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0802 _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_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0802 _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_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_296 _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_0868 : 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_108 _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_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _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
      | MenhirState0032 ->
          _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
      | MenhirState0038 ->
          _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
      | MenhirState0041 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _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
      | MenhirState0092 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _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
      | MenhirState0120 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _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
      | MenhirState0132 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _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
      | MenhirState0153 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0248 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _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
      | MenhirState0290 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _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
      | MenhirState0621 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _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
      | MenhirState0708 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _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
      | MenhirState0731 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0873 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0873 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0871 ->
          _menhir_run_0873 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0873 _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_091 x in
      _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0873 : 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_314 _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_092 x in
      _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0895 : 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_570 _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_0923 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FUN, ttv_result) _menhir_cell1_nonempty_list_patternOrMultibinder_ _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_patternOrMultibinder_ (_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_308 _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_0931 : 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 = MenhirState0932 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0933 : 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_265 _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_0938 : 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_266 _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_266 : 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
      | MenhirState0324 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | MenhirState0027 ->
          let MenhirCell1_TRY (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          let MenhirCell1_DOT_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          let MenhirCell1_matchMaybeOp (_, _, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          let MenhirCell0_SEMICOLON_OP (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          let MenhirCell1_DOT_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          let MenhirCell1_DOT_LENS_PAREN_LEFT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          let MenhirCell1_DOT_LBRACK_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          let MenhirCell1_DOT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          let MenhirCell1_DOT_LENS_PAREN_LEFT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          let MenhirCell1_DOT_LBRACK_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          let MenhirCell1_DOT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          let MenhirCell1_EQUALS (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          let MenhirCell0_LBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          let MenhirCell1_maybeFocusArrow (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          let MenhirCell1_maybeFocusArrow (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          let MenhirCell0_RARROW (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          let MenhirCell0_PRAGMA_CHECK (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          let _endpos__0_ = _menhir_initp in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0379 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          let MenhirCell0_LONG_LEFT_ARROW (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0384 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          let MenhirCell1_ifMaybeOp (_, _, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0388 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          let MenhirCell0_THEN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0391 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          let MenhirCell0_ELSE (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0470 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0488 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0489 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0493 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0494 _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_266 _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
      | MenhirState0278 ->
          let MenhirCell1_ASSERT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _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
      | MenhirState0277 ->
          let MenhirCell1_ASSUME (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0706 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | MenhirState0272 ->
          let MenhirCell0_LBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0707 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          let MenhirCell0_RBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0721 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0269 ->
          let MenhirCell1_LBRACE_COLON_WELL_FOUNDED (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _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 _tok _menhir_initp
      | MenhirState0267 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0730 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0738 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _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 _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0744 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0749 ->
          let MenhirCell1_WITH (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _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 _tok _menhir_initp
      | MenhirState0753 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _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 _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0758 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0762 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0766 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0767 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0771 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0263 ->
          let MenhirCell1_LBRACE (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0772 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0837 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0838 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          let MenhirCell0_WITH (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0840 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0843 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0844 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          let MenhirCell0_AND (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0848 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0854 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0855 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0859 ->
          let MenhirCell0_NAME (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0860 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0864 ->
          let MenhirCell0_WITH (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _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 _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          let MenhirCell0_AND (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0867 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0941 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0941 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0941 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0941 _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_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          let MenhirCell0_COLON (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_266 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0992 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0384 : 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 = MenhirState0385 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0388 : 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_0364 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0388 _menhir_initp
      | RETURNS_EQ ->
          let _menhir_s = MenhirState0388 in
          let _v = _menhir_action_325 () in
          _menhir_goto_option___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS ->
          let _menhir_s = MenhirState0388 in
          let _v = _menhir_action_337 () in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | THEN ->
          let _v_2 = _menhir_action_345 () in
          _menhir_run_0389 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0388 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0389 : 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 = MenhirState0390 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0391 : 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 = MenhirState0392 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_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_262 _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_0393 : 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_261 _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_0471 : 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_252 _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_0489 : 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_255 _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_0494 : 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_254 _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_0499 : 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_253 _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_0702 : 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 = MenhirState0703 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_271 _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_0706 : 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_270 _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_0707 : 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 MenhirState0708 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0708 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0708 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0708 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0708 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0708 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0708 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0708 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_8 ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0708 _menhir_initp
          | OP_MIXFIX_ACCESS _v_9 ->
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0708 _menhir_initp
          | OPPREFIX _v_10 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0708 _menhir_initp
          | OPINFIX4 _v_11 ->
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0708 _menhir_initp
          | OPINFIX3R _v_12 ->
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0708 _menhir_initp
          | OPINFIX3L _v_13 ->
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0708 _menhir_initp
          | OPINFIX2 _v_14 ->
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0708 _menhir_initp
          | OPINFIX1 _v_15 ->
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0708 _menhir_initp
          | OPINFIX0d _v_16 ->
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0708 _menhir_initp
          | OPINFIX0c _v_17 ->
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0708 _menhir_initp
          | OPINFIX0b _v_18 ->
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0708 _menhir_initp
          | OPINFIX0a _v_19 ->
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0708 _menhir_initp
          | NAME _v_20 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0708 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | INT8 _v_21 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0708 _menhir_initp
          | INT64 _v_22 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0708 _menhir_initp
          | INT32 _v_23 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0708 _menhir_initp
          | INT16 _v_24 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0708 _menhir_initp
          | INT _v_25 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0708 _menhir_initp
          | IMPLIES ->
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | IFF ->
              _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | IDENT _v_26 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0708 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | EQUALS ->
              _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | DISJUNCTION ->
              _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | CONJUNCTION ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | COLON_EQUALS ->
              _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | COLON_COLON ->
              _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | CHAR _v_27 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0708 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | BACKTICK ->
              _menhir_run_0709 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0708 _menhir_initp
          | RBRACE ->
              let _v_28 = _menhir_action_223 () in
              _menhir_run_0712 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0709 : 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 = MenhirState0709 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_0712 : 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_275 _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_0721 : 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_143 _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 MenhirState0714 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0714 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0714 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0714 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0714 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | STRING _v_4 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0714 _menhir_initp
          | SIZET _v_5 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0714 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | REAL _v_6 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0714 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_7 ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0714 _menhir_initp
          | OP_MIXFIX_ACCESS _v_8 ->
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0714 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0714 _menhir_initp
          | OPINFIX4 _v_10 ->
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0714 _menhir_initp
          | OPINFIX3R _v_11 ->
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0714 _menhir_initp
          | OPINFIX3L _v_12 ->
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0714 _menhir_initp
          | OPINFIX2 _v_13 ->
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0714 _menhir_initp
          | OPINFIX1 _v_14 ->
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0714 _menhir_initp
          | OPINFIX0d _v_15 ->
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0714 _menhir_initp
          | OPINFIX0c _v_16 ->
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0714 _menhir_initp
          | OPINFIX0b _v_17 ->
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0714 _menhir_initp
          | OPINFIX0a _v_18 ->
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0714 _menhir_initp
          | NAME _v_19 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0714 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | INT8 _v_20 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0714 _menhir_initp
          | INT64 _v_21 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0714 _menhir_initp
          | INT32 _v_22 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0714 _menhir_initp
          | INT16 _v_23 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0714 _menhir_initp
          | INT _v_24 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0714 _menhir_initp
          | IMPLIES ->
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | IFF ->
              _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | IDENT _v_25 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0714 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | EQUALS ->
              _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | DISJUNCTION ->
              _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | CONJUNCTION ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | COLON_EQUALS ->
              _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | COLON_COLON ->
              _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | CHAR _v_26 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0714 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | BACKTICK ->
              _menhir_run_0709 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0714 _menhir_initp
          | RBRACE ->
              let _v_27 = _menhir_action_223 () in
              _menhir_run_0715 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0715 : 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_224 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
      | MenhirState0708 ->
          _menhir_run_0712 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0715 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0725 : 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_259 _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_0730 : 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 ->
      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_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0731 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0731 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0731 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0731 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0731 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0731 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0731 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0731 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0731 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0731 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0731 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0731 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0731 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0731 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0731 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0731 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0731 _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_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_219 () in
              _menhir_run_0732 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_17 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0732 : 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_281 _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_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 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
      | RETURNS ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RETURNS (_menhir_stack, _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 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 MenhirState0741 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0741 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0741 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0741 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0741 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0741 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0741 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0741 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0741 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0744 : 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_282 _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_0750 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_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 MenhirCell1_IMPLIES (_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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_283 _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_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 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 MenhirState0755 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0755 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0755 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0755 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0755 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0755 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0755 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0755 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0755 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0758 : 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 MenhirState0759 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0759 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0759 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0759 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0759 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0759 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0759 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0759 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0759 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0762 : 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_284 _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_0767 : 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 MenhirState0768 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0768 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0768 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0768 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0768 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0768 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0768 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0768 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0768 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0771 : 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_285 _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_0772 : 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_328 e in
          _menhir_goto_option___anonymous_13_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0838 : 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 ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_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 = MenhirState0839 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_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_276 _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_0844 : 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 ->
      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_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0845 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0845 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0845 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0845 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0845 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0845 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0845 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0845 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0845 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0845 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0845 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0845 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0845 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0845 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0845 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0845 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | AND ->
              let _v_17 = _menhir_action_219 () in
              _menhir_run_0846 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_17 MenhirState0845 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0846 : 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 = MenhirState0847 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0848 : 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_277 _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_0855 : type  ttv_stack ttv_result. ((((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_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 MenhirCell1_IMPLIES (_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_278 _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_0860 : 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_279 _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_0865 : 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 = MenhirState0866 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_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_280 _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_0941 : 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 MenhirState0942 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0942 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0942 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0942 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0942 _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | TILDE _v_5 ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0942 _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0942 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0942 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0942 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0942 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0942 _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | MATCH_OP _v_11 ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0942 _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LET_OP _v_12 ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0942 _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | INT8 _v_13 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0942 _menhir_initp
          | INT64 _v_14 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0942 _menhir_initp
          | INT32 _v_15 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0942 _menhir_initp
          | INT16 _v_16 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0942 _menhir_initp
          | INT _v_17 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0942 _menhir_initp
          | IF_OP _v_18 ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0942 _menhir_initp
          | IF ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | IDENT _v_19 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0942 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | FORALL_OP _v_20 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0942 _menhir_initp
          | FORALL ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | EXISTS_OP _v_21 ->
              _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0942 _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | CHAR _v_22 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0942 _menhir_initp
          | CALC ->
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
          | RBRACK ->
              let _v_23 = _menhir_action_489 () in
              _menhir_run_0943 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_490 x in
          _menhir_goto_right_flexible_list_SEMICOLON_noSeqTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0943 : 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_491 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_0939 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0943 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0966 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0975 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0984 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0984 : 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_116 l in
      _menhir_goto_attribute _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0992 : 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_172 _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_0948 : 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_106 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_0977 : 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 = MenhirState0978 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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0105 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1231 : 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_371 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_415 p in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_p_ _startpos_p_ _v _tok _menhir_initp
  
  and _menhir_run_0327 : 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 = MenhirState0328 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_248 _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_0329 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_572 _endpos_e_ _startpos_e_ e in
      _menhir_goto_thunk_typ_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _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
      | MenhirState0328 ->
          _menhir_run_0356 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0360 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0356 : 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_249 _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_0360 : 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_251 _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_0358 : 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 = MenhirState0359 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_250 _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_0374 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_option___anonymous_9_ _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_9_ (_menhir_stack, _menhir_s, as_opt) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_236 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_346 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
      | MenhirState0363 ->
          _menhir_run_0366 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0388 ->
          _menhir_run_0389 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0377 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_option___anonymous_10_ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_option___anonymous_10_ (_menhir_stack, _menhir_s, as_opt) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_237 as_opt t in
      _menhir_goto_match_returning _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0525 : 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_348 e x in
      _menhir_goto_option_pair_hasSort_simpleTerm__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
  
  and _menhir_run_0704 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_573 _endpos_e_ _startpos_e_ e in
      let _endpos = _endpos_e_ 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_272 _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_0727 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_258 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0776 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_257 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0965 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_256 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1001 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_430 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1006 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_428 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1011 : 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_e_, _startpos_e_, e) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_431 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1016 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_433 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1021 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_435 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1026 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_434 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1031 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_432 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1036 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_429 _endpos_bs_ _endpos_e_ _startpos_bs_ _startpos_e_ bs e op in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1040 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_427 _endpos_bs_ _endpos_e_ _startpos_bs_ _startpos_e_ bs e id in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1119 : 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 e = _v in
      let _v = _menhir_action_448 e qualified_lid 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
      | MenhirState1054 ->
          _menhir_run_1074 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1163 ->
          _menhir_run_1074 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_1074 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_1094 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_1094 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1074 : 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_1076 _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
          | IDENT _v_0 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1075 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | RBRACE ->
              let _v_1 = _menhir_action_492 () in
              _menhir_run_1093 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_503 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_1076 : 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_057 _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 MenhirState1076 _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 MenhirState1076 _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_055 _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 MenhirState1076 _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 MenhirState1076 _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 MenhirState1076 _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 MenhirState1076 _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 MenhirState1076 _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 MenhirState1076 _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 MenhirState1076 _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 MenhirState1076 _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 MenhirState1076 _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_058 _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_060 _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_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1076 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1076 _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_062 _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_061 _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_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1076 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1076 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1076 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1076 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1076 _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_059 _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_1093 : 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_504 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
      | MenhirState1054 ->
          _menhir_run_1072 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1163 ->
          _menhir_run_1164 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState1181 ->
          _menhir_run_1182 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1072 : 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_671 record_field_decls in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _tok _menhir_initp
  
  and _menhir_run_1164 : 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 = MenhirState1166 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_331 () 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_171 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_344 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
      | MenhirState1160 ->
          _menhir_run_1171 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1174 ->
          _menhir_run_1175 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1171 : 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_164 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_1159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1178 _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_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_225 () in
          _menhir_run_1179 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1179 : 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_226 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
      | MenhirState1053 ->
          _menhir_run_1177 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1178 ->
          _menhir_run_1179 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1175 : 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_165 payload uid x in
      _menhir_goto_constructorDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1182 : 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_672 record_field_decls x in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _tok _menhir_initp
  
  and _menhir_run_1094 : 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_1076 _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
          | IDENT _v_0 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1095 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | RBRACE ->
              let _v_1 = _menhir_action_492 () in
              _menhir_run_1096 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_493 x in
          _menhir_goto_right_flexible_list_SEMICOLON_recordFieldDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1096 : 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_494 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
      | MenhirState1075 ->
          _menhir_run_1093 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1095 ->
          _menhir_run_1096 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1162 : 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 e = _v in
      let _v = _menhir_action_170 e in
      _menhir_goto_constructorPayload _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1167 : 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 e = _v in
      let _v = _menhir_action_332 e in
      _menhir_goto_option___anonymous_3_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
  
  and _menhir_run_1170 : 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 e = _v in
      let _v = _menhir_action_169 e in
      _menhir_goto_constructorPayload _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1176 : 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_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_670 e in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
  
  and _menhir_run_1196 : 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 = MenhirState1199 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | EXISTS ->
                      _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | DOLLAR ->
                      _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_HASH ->
                      _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_AT ->
                      _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK ->
                      _menhir_run_0252 _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_560 _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_442 se in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_se_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1200 : 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_561 _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_1204 : 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_559 e src_eff tgt_eff in
      _menhir_goto_subEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
  
  and _menhir_run_1237 : 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_363 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_444 c in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1248 : 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_362 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_443 b in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_b_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1332 : 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_180 _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 = MenhirState1334 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_521 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
      | MenhirState1326 ->
          _menhir_run_1327 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1334 ->
          _menhir_run_1335 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1327 : 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_181 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
      | MenhirState1320 ->
          _menhir_run_1341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1358 ->
          _menhir_run_1359 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1341 : 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_246 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_439 ne in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1359 : 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_440 ne in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1335 : 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_522 x xs in
      _menhir_goto_separated_nonempty_list_SEMICOLON_effectDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1338 : 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_182 e lid in
      let _endpos = _endpos_e_ in
      let (_endpos_ed_, ed) = (_endpos, _v) in
      let _v = _menhir_action_245 ed in
      _menhir_goto_newEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ed_ _v _tok _menhir_initp
  
  and _menhir_run_1367 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_679 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1372 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_677 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1377 : 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_e_, _startpos_e_, e) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_680 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1382 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_682 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1387 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_684 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _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_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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_683 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1397 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_681 _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1402 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_678 _endpos_bs_ _endpos_e_ _startpos__1_ _startpos_bs_ _startpos_e_ bs e op in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1406 : 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_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_676 _endpos_bs_ _endpos_e_ _startpos__1_ _startpos_bs_ _startpos_e_ bs e id in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1417 : 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_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_330 e in
      _menhir_goto_option___anonymous_2_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _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_438 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_1429 : 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_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_424 e tparams uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0341 : 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_634 _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_0345 : 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_579 _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_0349 : 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_580 _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_0355 : 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_581 _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_0701 : 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_578 _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_0892 : 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_574 _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_0954 : 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_577 _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_0959 : 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_575 _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_0964 : 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_576 _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_0343 : 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_0344 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0343 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0343 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0344 : 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 = MenhirState0344 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _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_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_0348 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0347 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0347 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0348 : 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 = MenhirState0348 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0353 : 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_0354 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0354 : 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 = 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_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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0746 : 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_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | IMPLIES ->
          let _menhir_s = MenhirState0746 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_IMPLIES (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0747 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          let _menhir_s = MenhirState0746 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 = MenhirState0751 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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 = MenhirState0748 in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_WITH (_menhir_stack, _menhir_s, _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0748 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0790 : 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_0791 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | RARROW ->
          _menhir_run_0792 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0849 : 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_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | IMPLIES ->
          let _menhir_s = MenhirState0849 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_IMPLIES (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0850 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          let _menhir_s = MenhirState0849 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 = MenhirState0856 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0851 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_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, MenhirState0851, _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 MenhirState0852 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0852 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0852 _tok _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0851 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0889 : 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_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0889 _menhir_initp
      | BAR_RBRACE ->
          let _menhir_s = MenhirState0889 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 = MenhirState0891 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0951 : 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 = MenhirState0951 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 = MenhirState0953 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0344 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0951 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0951 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0956 : 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 = MenhirState0956 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 = MenhirState0958 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0348 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0956 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0956 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0961 : 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 = MenhirState0961 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 = MenhirState0963 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0354 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0961 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0961 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0351 : 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_0336 _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_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_630 _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_0752 : 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 = 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | DISJUNCTION | IMPLIES ->
          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_630 _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_0763 : 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 = MenhirState0764 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION | IMPLIES ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_631 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_0857 : 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 = MenhirState0859 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0278 _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_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | DISJUNCTION | IMPLIES ->
          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_630 _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_0861 : 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 = MenhirState0862 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION | IMPLIES ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_631 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_0337 : 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_592 _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_0765 : 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 = MenhirState0766 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | CONJUNCTION | DISJUNCTION | IMPLIES ->
          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_592 _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_0863 : 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 = 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | CONJUNCTION | DISJUNCTION | IMPLIES ->
          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_592 _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_0971 : 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 _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
          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_1, _startpos_0, _v) in
          let _v = _menhir_action_104 _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
      | _ ->
          _eRR ()
  
  and _menhir_run_0969 : 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 = MenhirState0970 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0287 : 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_0288 _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_0290 _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_0685 _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_0687 _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_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_616 _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_0289 : 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_0288 _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_0290 _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_0685 _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_0687 _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_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_615 _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_0291 : 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_622 _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_0459 : 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_624 _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_0686 : 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_0290 _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_0685 _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_0687 _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_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_621 _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_0688 : 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_623 _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_0690 : 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_0286 _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_0288 _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_0290 _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_0685 _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_0687 _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_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_620 _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_0692 : 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_0286 _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_0288 _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_0290 _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_0685 _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_0689 _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_0687 _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_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_619 _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_0694 : 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_0286 _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_0288 _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_0290 _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_0685 _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_0689 _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_0691 _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_0687 _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_0695 _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_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_618 _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_0696 : 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_0286 _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_0288 _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_0290 _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_0685 _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_0689 _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_0687 _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_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_613 _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_0698 : 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_0286 _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_0288 _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_0290 _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_0685 _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_0689 _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_0691 _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_0693 _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_0687 _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_0695 _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_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_617 _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_0700 : 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_0286 _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_0288 _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_0290 _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_0685 _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_0689 _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_0691 _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_0693 _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_0697 _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_0687 _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_0695 _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_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_614 _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_0775 : 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_626 _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_0968 : 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_625 _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_0256 : 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_0255 _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_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_650 _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_0529 : 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_0255 _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_0530 _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_0534 _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_0536 _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_0532 _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_0538 _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_629 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_636 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
      | MenhirState0528 ->
          _menhir_run_0542 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0550 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0554 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0558 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0562 _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
      | MenhirState0572 ->
          _menhir_run_0573 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_1424 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0542 : 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 = MenhirState0544 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0547 : 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 = MenhirState0549 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0550 : 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 = MenhirState0551 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _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_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_591 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
      | MenhirState0551 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0556 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0560 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0564 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0565 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0566 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0571 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0576 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0577 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_1050 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_1325 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0552 : 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_587 _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_0556 : 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_588 _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_0560 : 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_589 _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_0564 : 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_590 _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_0565 : 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_583 _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_0566 : 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_586 _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_0571 : 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_584 _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_0576 : 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_585 _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_0577 : 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 = MenhirState0578 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_335 () in
          _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1050 : 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_194 t in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let k = _v in
      let _v = _menhir_action_067 k in
      let x = _v in
      let _v = _menhir_action_340 x in
      _menhir_goto_option_ascribeKind_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
  
  and _menhir_run_1325 : 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 = MenhirState1326 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_0554 : 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 = MenhirState0555 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0558 : 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 = MenhirState0559 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0562 : 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 = MenhirState0563 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0568 : 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 = MenhirState0570 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0573 : 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 = 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_0456 _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_0545 _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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1424 : 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_195 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_441 ne in
          _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0531 : 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_0255 _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_0530 _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_0532 _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_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_649 _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_0533 : 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_0255 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0536 _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 = MenhirState0540 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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP ->
          _menhir_run_0538 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0535 : 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_0255 _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_0530 _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_0532 _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_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_648 _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_0537 : 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_0255 _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_0530 _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_0534 _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_0536 _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_0532 _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_0538 _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_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_646 _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_0539 : 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_0255 _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_0530 _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_0534 _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_0532 _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_0538 _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_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_647 _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_0541 : 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_0255 _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_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_651 _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_0546 : 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_0255 _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_0530 _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_0534 _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_0536 _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_0532 _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_0538 _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_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_636 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_0831 : 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 =
    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_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, r, _endpos__6_) = (_endpos_1, _v, _endpos_1) in
          let _v = _menhir_action_242 _endpos__6_ _startpos__1_ qual_ids r t in
          _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0917 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lident_, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lident__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow -> _ -> _ -> _ -> _ -> _ -> 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_simpleArrow (_menhir_stack, _, t, _startpos_t_, _endpos_t_) = _menhir_stack in
          let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_nonempty_list_aqualifiedWithAttrs_lident__ (_menhir_stack, _, qual_ids) = _menhir_stack in
          let MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _, qual_id0, _, _) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (r, _endpos__7_) = (_v, _endpos_1) in
          let _v = _menhir_action_361 _endpos__7_ _endpos_t_ _startpos__1_ _startpos_t_ qual_id0 qual_ids r t in
          _menhir_goto_patternOrMultibinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__7_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_patternOrMultibinder : 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_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0451 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0451 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0451 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0451 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0451 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0451 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | REAL _v_6 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0451 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | NAME _v_7 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0451 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | INT8 _v_8 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0451 _menhir_initp
      | INT64 _v_9 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0451 _menhir_initp
      | INT32 _v_10 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0451 _menhir_initp
      | INT16 _v_11 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0451 _menhir_initp
      | INT _v_12 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0451 _menhir_initp
      | IDENT _v_13 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0451 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | CHAR _v_14 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0451 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0451 _menhir_initp
      | COLON | EQUALS | RARROW ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_304 x in
          _menhir_goto_nonempty_list_patternOrMultibinder_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_nonempty_list_patternOrMultibinder_ : 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
      | MenhirState0451 ->
          _menhir_run_0452 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0454 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0589 _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
      | MenhirState0600 ->
          _menhir_run_0601 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0607 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0613 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0619 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0632 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0643 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0921 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0452 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_patternOrMultibinder -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_305 x xs in
      _menhir_goto_nonempty_list_patternOrMultibinder_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0454 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0454 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0584 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0454 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0589 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0589 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0589 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0595 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0595 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0596 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0595 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0601 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0601 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0602 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0601 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0607 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0607 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0608 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0607 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0613 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0613 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0614 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0613 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0619 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0619 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0620 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0619 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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_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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0632 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0633 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0632 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0643 : 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_patternOrMultibinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0643 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_341 () in
          _menhir_run_0644 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0643 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0921 : 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_patternOrMultibinder_ (_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 = MenhirState0922 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _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 ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_645 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_0670 : 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_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0670 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0670 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0670 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0670 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0670 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0670 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0670 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0670 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0670 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | LBRACE ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0670 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0670 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0670 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0670 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0670 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0670 _menhir_initp
      | HASH ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0670 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0670 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0670 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0670 _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_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_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0668 : 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_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0669 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0669 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0669 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0669 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0669 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0669 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0669 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0669 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0669 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | LBRACE ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0669 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0669 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0669 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0669 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0669 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0669 _menhir_initp
      | HASH ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0669 _menhir_initp
      | FORALL ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0669 _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0669 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0669 _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_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_0675 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0826 : 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_656 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_0887 : 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_658 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_0679 : 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_447 _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_0320 : 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 MenhirState0321 _menhir_initp
          | LPAREN ->
              _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0321 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0321 _menhir_initp
          | RBRACE ->
              let _v_3 = _menhir_action_495 () in
              _menhir_run_0322 _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_496 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_0322 : 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_497 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
      | MenhirState0321 ->
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0662 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0526 : 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_097 _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_0630 : 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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0631 _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_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0631 _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_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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 MenhirState0631 _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_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0631 _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 MenhirState0631 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0631 _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_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0631 _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 MenhirState0631 _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_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0631 _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_076 _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_0723 : 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_140 _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 = MenhirState0717 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | RBRACE ->
              let _v = _menhir_action_351 () in
              _menhir_goto_option_term_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0885 : 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_097 _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_391 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_0911 : 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_076 _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_1032 : 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 MenhirState1033 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1033 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1033 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1033 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1033 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1033 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1033 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1033 _menhir_initp
          | COLON ->
              let _v_3 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_3 MenhirState1033 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1070 : 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_056 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_097 _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_391 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_1091 : 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_056 op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1114 : 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_047 attrs op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1136 : 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_038 aq op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1155 : 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_029 aq attrs op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1272 : 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_318 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
      | MenhirState1255 ->
          _menhir_run_1275 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1278 ->
          _menhir_run_1279 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1283 ->
          _menhir_run_1284 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1288 ->
          _menhir_run_1289 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1293 ->
          _menhir_run_1294 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1298 ->
          _menhir_run_1299 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1303 ->
          _menhir_run_1304 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1308 ->
          _menhir_run_1309 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1313 ->
          _menhir_run_1314 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1275 : 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 MenhirState1276 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1276 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1276 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1277 _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_462 _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_1253 : 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, MenhirState1253, _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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1255 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_4 = _menhir_action_315 () in
                  _menhir_run_1275 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1255 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _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, MenhirState1253, _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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1283 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_9 = _menhir_action_315 () in
                  _menhir_run_1284 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1283 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX3R _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX3L _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1253 _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, MenhirState1253, _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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1288 _menhir_initp
              | COMMA | RBRACE ->
                  let _v = _menhir_action_315 () in
                  _menhir_run_1289 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1288 _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, MenhirState1253, _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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1293 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_18 = _menhir_action_315 () in
                  _menhir_run_1294 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1293 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | IMPLIES ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1253 _menhir_initp
      | IFF ->
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1253 _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, MenhirState1253, _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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1298 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_23 = _menhir_action_315 () in
                  _menhir_run_1299 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState1298 _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, MenhirState1253, _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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1303 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_28 = _menhir_action_315 () in
                  _menhir_run_1304 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState1303 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | EQUALS ->
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1253 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1253 _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1253 _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1253 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1253 _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, MenhirState1253, _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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1308 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_33 = _menhir_action_315 () in
                  _menhir_run_1309 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1308 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1256 : 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 MenhirState1256 _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_319 _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, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OP_MIXFIX_ACCESS _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _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_317 _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, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX3R _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX3L _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX2 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX1 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX0d _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX0c _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX0b _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _menhir_initp
          | OPINFIX0a _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1257 _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_320 _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_322 _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, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1257 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1257 _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_324 _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_323 _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, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1257 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1257 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1257 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1257 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1256, _startpos, _endpos) in
              _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1257 _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_321 _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 MenhirState1256 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1284 : 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 MenhirState1285 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1285 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1285 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1286 _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_460 _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_1286 : 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_469 _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
      | MenhirState1276 ->
          _menhir_run_1277 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1280 ->
          _menhir_run_1281 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1285 ->
          _menhir_run_1286 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1290 ->
          _menhir_run_1291 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1295 ->
          _menhir_run_1296 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1301 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1305 ->
          _menhir_run_1306 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1310 ->
          _menhir_run_1311 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1315 ->
          _menhir_run_1316 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1252 ->
          _menhir_run_1317 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1277 : 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_471 _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_1281 : 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_468 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_1291 : 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_472 _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_1296 : 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_474 _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_1301 : 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_476 _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_1306 : 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_475 _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_1311 : 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_473 _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_1316 : 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_470 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_1317 : 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_450 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
      | MenhirState1251 ->
          _menhir_run_1319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_1411 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1319 : 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_416 r uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1411 : 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_418 r uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1289 : 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 MenhirState1290 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1290 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1290 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1291 _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_463 _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_1294 : 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 MenhirState1295 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1295 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1295 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1296 _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_465 _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_1299 : 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 MenhirState1300 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1300 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1300 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1301 _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_467 _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_1304 : 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 MenhirState1305 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1305 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1305 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1306 _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_466 _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_1309 : 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 MenhirState1310 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1310 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1310 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1311 _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_464 _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_1279 : 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 MenhirState1280 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1280 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1280 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1281 _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_459 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_1314 : 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 MenhirState1315 _menhir_initp
          | LPAREN ->
              _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1315 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1315 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_458 () in
              _menhir_run_1316 _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_461 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_1312 : 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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1313 _menhir_initp
          | COMMA | RBRACE ->
              let _v_2 = _menhir_action_315 () in
              _menhir_run_1314 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1313 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1398 : 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 MenhirState1399 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1399 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
          | COLON ->
              let _v_3 = _menhir_action_217 () in
              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_3 MenhirState1399 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0133 : 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_380 _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_0136 : 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_0135 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0136 _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_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_215 () in
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0137 : 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_216 id xs in
      _menhir_goto_list___anonymous_14_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list___anonymous_14_ : 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
      | MenhirState0136 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0134 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0661 : 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_389 qid in
      _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_qid_ _startpos_qid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0676 : 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_380 _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_389 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_0710 : 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_141 _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_1350 : 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_421 _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_386 _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_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 ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX2 _ | RPAREN ->
          let (_endpos_u_, _startpos_u_, u) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_111 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_187 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
      | MenhirState0167 ->
          _menhir_run_0175 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0175 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_1047 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_1047 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_1047 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1206 ->
          _menhir_run_1210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_1210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1214 ->
          _menhir_run_1210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1256 ->
          _menhir_run_1274 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1252 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1276 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1285 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1290 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1295 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1305 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1310 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1315 ->
          _menhir_run_1278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0175 : 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_0166 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0175 _menhir_initp
      | LPAREN ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0175 _menhir_initp
      | INT _v_0 ->
          _menhir_run_0168 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0175 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0175 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1047 : 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 MenhirState1047 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1047 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1047 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1047 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1047 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1047 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1047 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1047 _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_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_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1047 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1210 : 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 MenhirState1211 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1211 _menhir_initp
          | RBRACK ->
              let _v_3 = _menhir_action_486 () in
              _menhir_run_1212 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_487 x in
          _menhir_goto_right_flexible_list_SEMICOLON_ident_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1212 : 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_488 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
      | MenhirState1206 ->
          _menhir_run_1207 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState1211 ->
          _menhir_run_1212 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1214 ->
          _menhir_run_1215 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1207 : 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 = MenhirState1208 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_1215 : 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 = MenhirState1216 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_1274 : 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_316 id in
      _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1278 : 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_1256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1278 _menhir_initp
      | COMMA | RBRACE ->
          let _v_0 = _menhir_action_315 () in
          _menhir_run_1279 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1278 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 ->
      let (_endpos_u_, _startpos_u_, u) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_111 u in
      _menhir_goto_atomicUniverse _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_u_ _startpos_u_ _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_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_026 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 ->
      match _menhir_s with
      | MenhirState0063 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0210 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0913 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0913 ->
          _menhir_run_0919 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0919 ->
          _menhir_run_0919 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0210 : 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_088 _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_0913 : 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
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0913 _menhir_initp
      | IDENT _v_0 ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0913 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0913 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0913 _menhir_initp
      | COLON | COLON_COLON | COMMA | RPAREN ->
          let (_endpos_qual_id_, _startpos_qual_id_, qual_id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_088 _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
      | _ ->
          _eRR ()
  
  and _menhir_run_0919 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqualifiedWithAttrs_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 ->
      match (_tok : MenhirBasics.token) with
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0919 _menhir_initp
      | IDENT _v_0 ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0919 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0919 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0919 _menhir_initp
      | COLON ->
          let x = _v in
          let _v = _menhir_action_286 x in
          _menhir_goto_nonempty_list_aqualifiedWithAttrs_lident__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_nonempty_list_aqualifiedWithAttrs_lident__ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lident_ 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
      | MenhirState0913 ->
          _menhir_run_0914 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0919 ->
          _menhir_run_0920 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0914 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lident_ 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_lident__ (_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 = MenhirState0915 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_0132 _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_0147 _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_0148 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0128 _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_0129 _menhir_stack _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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0920 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lident_, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lident_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_287 x xs in
      _menhir_goto_nonempty_list_aqualifiedWithAttrs_lident__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_025 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_0212 : 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_024 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_0214 : 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_023 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_0365 : 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_EQ ->
          let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
          let i = _v in
          let _v = _menhir_action_326 i in
          _menhir_goto_option___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS ->
          let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
          let i = _v in
          let _v = _menhir_action_338 i in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0642 : 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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0642 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0642 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _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 MenhirState0642 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0642 _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 MenhirState0642 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0642 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0642 _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 MenhirState0642 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0642 _menhir_initp
      | COLON | COLON_COLON | COMMA | EQUALS ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_026 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_1037 : 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 MenhirState1037 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1037 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
      | COLON ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1037 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1046 : 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_187 x in
      _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1097 : 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_054 id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1116 : 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_045 attrs id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1138 : 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_036 aq id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1157 : 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_027 aq attrs 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_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_054 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_353 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_1329 : 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 MenhirState1329 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1329 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1329 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1329 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1329 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1329 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1329 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1329 _menhir_initp
      | EQUALS ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1329 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1403 : 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 MenhirState1403 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1403 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1403 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1403 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1403 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1403 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1403 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1403 _menhir_initp
      | COLON ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1403 _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_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_355 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
      | MenhirState0196 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0153 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0248 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0324 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0336 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0392 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0420 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0545 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0570 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0578 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0666 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0708 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0731 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0807 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0871 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0891 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1188 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1191 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1232 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1234 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1240 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1242 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1344 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1412 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0140 _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_356 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_0140 : 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_414 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
      | MenhirState0131 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0132 ->
          _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
      | MenhirState0149 ->
          _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
      | MenhirState0153 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _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
      | MenhirState0185 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0187 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0224 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _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
      | MenhirState0248 ->
          _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
      | MenhirState0252 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0260 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0264 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0267 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0268 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0269 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0270 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0272 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0277 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _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
      | MenhirState0292 ->
          _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
      | MenhirState0324 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0326 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0328 ->
          _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
      | MenhirState0336 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0340 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0344 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0346 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0348 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0350 ->
          _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
      | MenhirState0357 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0362 ->
          _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
      | MenhirState0380 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0383 ->
          _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
      | MenhirState0392 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _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
      | MenhirState0406 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _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
      | MenhirState0420 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _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
      | MenhirState0455 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0456 ->
          _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
      | MenhirState0464 ->
          _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
      | MenhirState0470 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0472 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0475 ->
          _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
      | MenhirState0485 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0493 ->
          _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
      | MenhirState0508 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0524 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0530 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _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
      | MenhirState0538 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _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
      | MenhirState0545 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0549 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _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
      | MenhirState0563 ->
          _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
      | MenhirState0570 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _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
      | MenhirState0578 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0585 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _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
      | MenhirState0615 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _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
      | MenhirState0640 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _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
      | MenhirState0666 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0670 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0681 ->
          _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
      | MenhirState0687 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _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
      | MenhirState0708 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0714 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0717 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0720 ->
          _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
      | MenhirState0731 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _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
      | MenhirState0747 ->
          _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
      | MenhirState0751 ->
          _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
      | MenhirState0757 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0764 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _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
      | MenhirState0786 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0793 ->
          _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
      | MenhirState0807 ->
          _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
      | MenhirState0813 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _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
      | MenhirState0854 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0859 ->
          _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
      | MenhirState0866 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0871 ->
          _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
      | MenhirState0891 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0932 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0937 ->
          _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
      | MenhirState0950 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0955 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0960 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0970 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0991 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1010 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1015 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1025 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1030 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1035 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1049 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1054 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1058 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1161 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1166 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1169 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1180 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1199 ->
          _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
      | MenhirState1216 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1331 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1376 ->
          _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
      | MenhirState1386 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1501 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0104 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0190 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0198 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0399 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0504 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0798 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0606 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0618 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0973 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1188 ->
          _menhir_run_1190 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1191 ->
          _menhir_run_1192 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1232 ->
          _menhir_run_1233 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1234 ->
          _menhir_run_1235 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1240 ->
          _menhir_run_1241 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1242 ->
          _menhir_run_1243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_1246 _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 _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1344 ->
          _menhir_run_1345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_1348 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_1349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_1410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1412 ->
          _menhir_run_1413 _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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_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_107 _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_387 _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_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 ->
      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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0201 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _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 MenhirState0201 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0105 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0201 _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 MenhirState0201 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0201 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0201 _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 MenhirState0201 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0201 _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_089 _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_0202 : 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_089 _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_0973 : 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_1190 : 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 = MenhirState1191 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_1192 : 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 = MenhirState1195 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | EXISTS ->
                      _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | DOLLAR ->
                      _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_HASH ->
                      _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_AT ->
                      _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK ->
                      _menhir_run_0252 _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 = 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1233 : 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 = MenhirState1234 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_1235 : 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 = MenhirState1236 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1241 : 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 = MenhirState1242 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_1243 : 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 = MenhirState1245 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_1246 : 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 = MenhirState1247 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1251 : 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_1252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1251 _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_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_451 () in
          _menhir_run_1319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1252 : 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 MenhirState1252 _menhir_initp
      | LPAREN ->
          _menhir_run_1253 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1252 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1252 _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_458 () in
          _menhir_run_1317 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1345 : 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_419 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1348 : 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_420 uid1 uid2 in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid2_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1349 : 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_422 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1410 : 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_1252 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1410 _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_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_451 () in
          _menhir_run_1411 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1413 : 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_417 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _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 ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_188 x in
      _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0195 : 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 = MenhirState0196 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_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_355 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_0990 : 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 = MenhirState0991 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1160 : 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_1161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1160 _menhir_initp
      | LBRACE ->
          _menhir_run_1163 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1160 _menhir_initp
      | COLON ->
          _menhir_run_1169 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1160 _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_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_343 () in
          _menhir_run_1171 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1161 : 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 = MenhirState1161 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1163 : 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 = MenhirState1163 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | LPAREN ->
          _menhir_run_1076 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1169 : 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 = MenhirState1169 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1174 : 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_1161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1174 _menhir_initp
      | LBRACE ->
          _menhir_run_1163 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1174 _menhir_initp
      | COLON ->
          _menhir_run_1169 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1174 _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_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_343 () in
          _menhir_run_1175 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1322 : 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 MenhirState1322 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1322 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1322 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1322 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1322 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1322 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1322 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1322 _menhir_initp
      | COLON ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1322 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1336 : 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 = MenhirState1337 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1346 : 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 = MenhirState1347 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_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_355 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_1415 : 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 = MenhirState1416 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_0128 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _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_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_329 () in
          _menhir_goto_option___anonymous_2_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1421 : 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 MenhirState1421 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1421 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1421 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1421 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1421 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1421 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1421 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1421 _menhir_initp
      | WITH ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1421 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1426 : 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 MenhirState1426 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1426 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1426 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1426 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1426 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1426 _menhir_initp
      | HASH ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1426 _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1426 _menhir_initp
      | EQUALS ->
          let _v_1 = _menhir_action_217 () in
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1426 _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
      | MenhirState0201 ->
          _menhir_run_0203 _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_0203 : 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_167 _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_291 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_0453 : 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_360 pat in
      _menhir_goto_patternOrMultibinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pat_ _startpos_pat_ _v _menhir_s _tok _menhir_initp
  
  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_c_, _startpos_c_, c) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_094 _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_0205 : 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_085 _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_1041 : 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_426 _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_0807 : 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 = MenhirState0807 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_0132 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0811 : 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 = MenhirState0811 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_0132 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0813 : 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 = MenhirState0813 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_0132 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0809 : 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 = MenhirState0809 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_0132 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0815 : 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 = MenhirState0815 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_0132 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _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
      | MenhirState0131 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0406 ->
          _menhir_run_0407 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0408 ->
          _menhir_run_0409 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0413 _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 _v _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0417 _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
      | MenhirState0420 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0422 ->
          _menhir_run_0423 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0424 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0426 ->
          _menhir_run_0427 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0819 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0828 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0829 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0403 : 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_0404 _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_0406 _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_0408 _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_0412 _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_0416 _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_0418 _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_0420 _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_0424 _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_0414 _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_0422 _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 = MenhirState0426 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BAR_RBRACE | COMMA | LBRACE | RARROW | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_595 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_0404 : 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 = MenhirState0404 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0406 : 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 = MenhirState0406 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0408 : 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 = MenhirState0408 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0412 : 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 = MenhirState0412 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0416 : 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 = MenhirState0416 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0418 : 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 = MenhirState0418 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0420 : 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 = MenhirState0420 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0424 : 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 = MenhirState0424 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0414 : 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 = MenhirState0414 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0422 : 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 = MenhirState0422 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_0132 _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_0147 _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_0148 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0159 _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
      | MenhirState0131 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0436 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0438 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0440 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0442 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0820 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR_RBRACE | COMMA | LBRACE | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_524 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_526 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
      | MenhirState0436 ->
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0448 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0625 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0830 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0915 ->
          _menhir_run_0916 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0437 : 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_523 _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_0444 : 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_562 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _tok _menhir_initp _endpos _v
  
  and _menhir_act_goto_562 : 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
      | MenhirState0151 ->
          let MenhirCell1_LBRACE_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_562 _endpos__0_ _endpos_t_ t in
          _menhir_run_0431 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          let MenhirCell1_LBRACE_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_562 _endpos__0_ _endpos_t_ t in
          _menhir_run_0431 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          let MenhirCell0_COMMA (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_562 _endpos__0_ _endpos_t_ t in
          _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          let MenhirCell0_COMMA (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_562 _endpos__0_ _endpos_t_ t in
          _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0431 : 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 MenhirState0432 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0432 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0432 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0432 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0432 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0432 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0432 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0432 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0432 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | QUOTE ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0432 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0432 _menhir_initp
          | MINUS ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | LBRACE ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0432 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0432 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0432 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0432 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0432 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0432 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0432 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0153 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | BACKTICK ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
          | BAR_RBRACE ->
              let _v_17 = _menhir_action_480 () in
              _menhir_run_0449 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 _menhir_initp
          | _ ->
              _eRR ())
      | BAR_RBRACE ->
          let x = _v in
          let _v = _menhir_action_501 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_0449 : 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_502 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_564 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
      | MenhirState0402 ->
          _menhir_run_0429 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0822 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0429 : 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_359 constraints in
      _menhir_goto_patternOrMultibinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0822 : 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_241 constraints in
      _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0433 : 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 MenhirState0434 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0434 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0434 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0434 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0434 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0434 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0434 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0434 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0434 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | QUOTE ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0434 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0434 _menhir_initp
          | MINUS ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | LBRACE ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0434 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0434 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0434 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0434 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0434 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0434 _menhir_initp
          | HASH ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0434 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0153 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | BACKTICK ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0434 _menhir_initp
          | BAR_RBRACE ->
              let _v_17 = _menhir_action_480 () in
              _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 _menhir_initp
          | _ ->
              _eRR ())
      | BAR_RBRACE ->
          let x = _v in
          let _v = _menhir_action_481 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_0445 : 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_482 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
      | MenhirState0434 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0449 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0448 : 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_563 _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
      | MenhirState0151 ->
          _menhir_run_0431 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0402 ->
          _menhir_run_0431 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0434 ->
          _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0626 : 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_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0626 _menhir_initp
      | RPAREN ->
          let _menhir_s = MenhirState0626 in
          let _v = _menhir_action_327 () in
          _menhir_goto_option___anonymous_13_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0830 : 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_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0830 _menhir_initp
      | RPAREN ->
          let _menhir_s = MenhirState0830 in
          let _v = _menhir_action_327 () in
          _menhir_goto_option___anonymous_13_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0916 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lident_, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lident__ _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_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0916 _menhir_initp
      | RPAREN ->
          let _menhir_s = MenhirState0916 in
          let _v = _menhir_action_327 () in
          _menhir_goto_option___anonymous_13_ _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 = MenhirState0436 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_0132 _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_0147 _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_0148 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0128 _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_0129 _menhir_stack _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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0439 : 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_527 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_0441 : 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_528 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_0443 : 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_529 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_0820 : 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_525 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_0405 : 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_0406 _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_0408 _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_0412 _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_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_599 _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_0407 : 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_0406 _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_0408 _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_0412 _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_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_598 _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_0409 : 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_605 _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_0413 : 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_0408 _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_0412 _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_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_604 _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_0415 : 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_606 _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_0417 : 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_0404 _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_0406 _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_0408 _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_0412 _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_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_603 _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_0419 : 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_0404 _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_0406 _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_0408 _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_0412 _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_0416 _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_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_602 _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_0421 : 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_0404 _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_0406 _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_0408 _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_0412 _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_0416 _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_0418 _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_0414 _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_0422 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_601 _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_0423 : 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_0404 _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_0406 _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_0408 _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_0412 _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_0416 _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_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_596 _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_0425 : 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_0404 _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_0406 _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_0408 _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_0412 _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_0416 _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_0418 _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_0420 _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_0414 _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_0422 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_600 _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_0427 : 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_0404 _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_0406 _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_0408 _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_0412 _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_0416 _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_0418 _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_0420 _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_0424 _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_0414 _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_0422 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_597 _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_0819 : 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_609 _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_0828 : 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_607 _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_0829 : 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_608 _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_0162 : 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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | BACKTICK | 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_641 _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_0808 : 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_0161 _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_0807 _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_0809 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | 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_640 _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_0810 : 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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          _menhir_run_0807 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          _menhir_run_0811 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0813 _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 = MenhirState0817 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_0132 _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_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_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_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP ->
          _menhir_run_0815 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0812 : 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_0161 _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_0807 _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_0809 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | 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_639 _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_0814 : 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_0161 _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_0807 _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_0811 _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_0813 _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_0809 _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_0815 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_637 _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_0816 : 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_0161 _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_0807 _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_0811 _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_0809 _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_0815 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | 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_638 _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_0818 : 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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | BACKTICK | 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_642 _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_0154 : 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_643 _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_0156 : 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_611 _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_0158 : 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_610 _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_0194 : 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_087 _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_0247 : 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_652 _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_0249 : 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_628 _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_0251 : 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_627 _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_0261 : 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_192 e in
      _menhir_goto_indexingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0271 : 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 = MenhirState0272 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0275 : 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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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 MenhirState0275 _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_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_292 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
      | MenhirState0273 ->
          _menhir_run_0274 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0276 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0274 : 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_260 _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_0276 : 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_293 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_0582 : 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_662 x in
      _menhir_goto_trailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _tok _menhir_initp
  
  and _menhir_run_0724 : 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_142 t in
      _menhir_goto_calcRel _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0733 : 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 MenhirState0733 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0733 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0733 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0733 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0733 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0733 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0733 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0733 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0733 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0733 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0733 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0733 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0733 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0733 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0733 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0733 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0733 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _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_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_219 () in
          _menhir_run_0734 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0734 : 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_220 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
      | MenhirState0731 ->
          _menhir_run_0732 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0734 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0846 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0929 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0870 : 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_653 _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_0974 : 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_274 _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_0983 : 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_569 _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_0982 _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_0982 : 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_273 _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_1217 : 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_436 ids t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1209 : 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_437 ids t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  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 _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_0187 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0186 _menhir_initp
      | DOT_LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0472 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0186 _menhir_initp
      | DOT_LBRACK_BAR ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0475 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0186 _menhir_initp
      | DOT_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0478 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0186 _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_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_090 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_0466 : 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 = MenhirState0466 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 = MenhirState0467 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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 = MenhirState0466 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 = MenhirState0485 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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 = MenhirState0466 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 = MenhirState0490 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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 = MenhirState0466 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 = 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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_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_090 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_0874 : 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_313 _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_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0986 : 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_403 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0987 : 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_401 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0988 : 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_399 _endpos__1_ _startpos__1_ in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1442 : 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_230 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_0994 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1444 ->
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1446 ->
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_1442 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0994 : 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 MenhirState0995 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0995 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0995 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0995 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _menhir_initp
          | STRING _v_4 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0995 _menhir_initp
          | SIZET _v_5 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0995 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _menhir_initp
          | REAL _v_6 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0995 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _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, MenhirState0995, _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, MenhirState0996, _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 MenhirState0998 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0998 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0998 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0998 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0998 _menhir_initp
                      | IDENT _v_13 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0998 _menhir_initp
                      | HASH ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0998 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0998 _menhir_initp
                      | COLON ->
                          let _v_14 = _menhir_action_217 () in
                          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_12 _endpos_12 _v_14 MenhirState0998 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | OP_MIXFIX_ASSIGNMENT _v_15 ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0996 _menhir_initp
              | OP_MIXFIX_ACCESS _v_16 ->
                  _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0996 _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, MenhirState0996, _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 MenhirState1003 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1003 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1003 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1003 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1003 _menhir_initp
                      | IDENT _v_22 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState1003 _menhir_initp
                      | HASH ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1003 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1003 _menhir_initp
                      | COLON ->
                          let _v_23 = _menhir_action_217 () in
                          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_21 _endpos_21 _v_23 MenhirState1003 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | OPINFIX4 _v_24 ->
                  _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0996 _menhir_initp
              | OPINFIX3R _v_25 ->
                  _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0996 _menhir_initp
              | OPINFIX3L _v_26 ->
                  _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0996 _menhir_initp
              | OPINFIX2 _v_27 ->
                  _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0996 _menhir_initp
              | OPINFIX1 _v_28 ->
                  _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState0996 _menhir_initp
              | OPINFIX0d _v_29 ->
                  _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState0996 _menhir_initp
              | OPINFIX0c _v_30 ->
                  _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState0996 _menhir_initp
              | OPINFIX0b _v_31 ->
                  _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState0996 _menhir_initp
              | OPINFIX0a _v_32 ->
                  _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState0996 _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, MenhirState0996, _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 MenhirState1008 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1008 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1008 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1008 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1008 _menhir_initp
                      | IDENT _v_37 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1008 _menhir_initp
                      | HASH ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1008 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1008 _menhir_initp
                      | COLON ->
                          let _v_38 = _menhir_action_217 () in
                          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_36 _endpos_36 _v_38 MenhirState1008 _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, MenhirState0996, _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 MenhirState1013 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1013 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1013 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1013 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1013 _menhir_initp
                      | IDENT _v_44 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_44 MenhirState1013 _menhir_initp
                      | HASH ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1013 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1013 _menhir_initp
                      | COLON ->
                          let _v_45 = _menhir_action_217 () in
                          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_43 _endpos_43 _v_45 MenhirState1013 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | IMPLIES ->
                  _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0996 _menhir_initp
              | IFF ->
                  _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0996 _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, MenhirState0996, _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 MenhirState1018 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1018 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1018 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1018 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1018 _menhir_initp
                      | IDENT _v_51 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState1018 _menhir_initp
                      | HASH ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1018 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1018 _menhir_initp
                      | COLON ->
                          let _v_52 = _menhir_action_217 () in
                          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_50 _endpos_50 _v_52 MenhirState1018 _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, MenhirState0996, _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 MenhirState1023 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1023 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1023 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1023 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1023 _menhir_initp
                      | IDENT _v_58 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState1023 _menhir_initp
                      | HASH ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1023 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1023 _menhir_initp
                      | COLON ->
                          let _v_59 = _menhir_action_217 () in
                          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_57 _endpos_57 _v_59 MenhirState1023 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | EQUALS ->
                  _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0996 _menhir_initp
              | DISJUNCTION ->
                  _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0996 _menhir_initp
              | CONJUNCTION ->
                  _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0996 _menhir_initp
              | COLON_EQUALS ->
                  _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0996 _menhir_initp
              | COLON_COLON ->
                  _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0996 _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, MenhirState0996, _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 MenhirState1028 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1028 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1028 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1028 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1028 _menhir_initp
                      | IDENT _v_65 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_65 MenhirState1028 _menhir_initp
                      | HASH ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1028 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1028 _menhir_initp
                      | COLON ->
                          let _v_66 = _menhir_action_217 () in
                          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_64 _endpos_64 _v_66 MenhirState1028 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | INT8 _v_67 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState0995 _menhir_initp
          | INT64 _v_68 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_68 MenhirState0995 _menhir_initp
          | INT32 _v_69 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_69 MenhirState0995 _menhir_initp
          | INT16 _v_70 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_70 MenhirState0995 _menhir_initp
          | INT _v_71 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_71 MenhirState0995 _menhir_initp
          | IDENT _v_72 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_72 MenhirState0995 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _menhir_initp
          | CHAR _v_73 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState0995 _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 = MenhirState1042 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 = MenhirState1188 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 MenhirState1206 _menhir_initp
              | IDENT _v_79 ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_79 MenhirState1206 _menhir_initp
              | RBRACK ->
                  let _v_80 = _menhir_action_486 () in
                  _menhir_run_1207 _menhir_stack _menhir_lexbuf _menhir_lexer _v_80 MenhirState1206 _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 MenhirState1214 _menhir_initp
              | IDENT _v_83 ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_83 MenhirState1214 _menhir_initp
              | RBRACK ->
                  let _v_84 = _menhir_action_486 () in
                  _menhir_run_1215 _menhir_stack _menhir_lexbuf _menhir_lexer _v_84 MenhirState1214 _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_364 () 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 = MenhirState1219 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | STRING _v ->
              _menhir_run_1220 _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_369 () 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_1220 _menhir_stack _menhir_lexbuf _menhir_lexer _v_88 MenhirState1223 _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_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_349 () in
              _menhir_run_1225 _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_1220 _menhir_stack _menhir_lexbuf _menhir_lexer _v_90 MenhirState1226 _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_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_349 () in
              _menhir_run_1227 _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_370 () 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_368 () in
          _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _tok _menhir_initp
      | 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 = MenhirState1230 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0278 _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 = MenhirState1232 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 = MenhirState1240 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 = MenhirState1250 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 = MenhirState1320 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_1321 _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 = MenhirState1342 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 = MenhirState1344 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_1352 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1351 _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_127 = _menhir_action_209 () in
              _menhir_run_1353 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_127 MenhirState1351 _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 = MenhirState1358 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACE ->
              _menhir_run_1321 _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_128 = _menhir_lexbuf.Lexing.lex_start_p in
              let _menhir_stack = MenhirCell1_VAL (_menhir_stack, MenhirState1360, _startpos_128) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | LPAREN ->
                  let _startpos_129 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1361, _startpos_129, _endpos) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | TILDE _v_130 ->
                      let _startpos_131 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_132 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1362, _v_130, _startpos_131, _endpos_132) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_133 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_134 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_133, _endpos_134) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1364 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1364 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1364 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1364 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1364 _menhir_initp
                          | IDENT _v_135 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_135 MenhirState1364 _menhir_initp
                          | HASH ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1364 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1364 _menhir_initp
                          | COLON ->
                              let _v_136 = _menhir_action_217 () in
                              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_134 _endpos_134 _v_136 MenhirState1364 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | OP_MIXFIX_ASSIGNMENT _v_137 ->
                      _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_137 MenhirState1362 _menhir_initp
                  | OP_MIXFIX_ACCESS _v_138 ->
                      _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_138 MenhirState1362 _menhir_initp
                  | OPPREFIX _v_139 ->
                      let _startpos_140 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_141 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1362, _v_139, _startpos_140, _endpos_141) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_142 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_143 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_142, _endpos_143) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1369 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1369 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1369 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1369 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1369 _menhir_initp
                          | IDENT _v_144 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_144 MenhirState1369 _menhir_initp
                          | HASH ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1369 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1369 _menhir_initp
                          | COLON ->
                              let _v_145 = _menhir_action_217 () in
                              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_143 _endpos_143 _v_145 MenhirState1369 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | OPINFIX4 _v_146 ->
                      _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_146 MenhirState1362 _menhir_initp
                  | OPINFIX3R _v_147 ->
                      _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_147 MenhirState1362 _menhir_initp
                  | OPINFIX3L _v_148 ->
                      _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_148 MenhirState1362 _menhir_initp
                  | OPINFIX2 _v_149 ->
                      _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_149 MenhirState1362 _menhir_initp
                  | OPINFIX1 _v_150 ->
                      _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_150 MenhirState1362 _menhir_initp
                  | OPINFIX0d _v_151 ->
                      _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_151 MenhirState1362 _menhir_initp
                  | OPINFIX0c _v_152 ->
                      _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_152 MenhirState1362 _menhir_initp
                  | OPINFIX0b _v_153 ->
                      _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_153 MenhirState1362 _menhir_initp
                  | OPINFIX0a _v_154 ->
                      _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_154 MenhirState1362 _menhir_initp
                  | MINUS ->
                      let _startpos_155 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_156 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1362, _startpos_155, _endpos_156) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_157 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_158 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_157, _endpos_158) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1374 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1374 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1374 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1374 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1374 _menhir_initp
                          | IDENT _v_159 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_159 MenhirState1374 _menhir_initp
                          | HASH ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1374 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1374 _menhir_initp
                          | COLON ->
                              let _v_160 = _menhir_action_217 () in
                              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_158 _endpos_158 _v_160 MenhirState1374 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | LET_OP _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_LET_OP (_menhir_stack, MenhirState1362, _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 MenhirState1379 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | IDENT _v_166 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_166 MenhirState1379 _menhir_initp
                          | HASH ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | COLON ->
                              let _v_167 = _menhir_action_217 () in
                              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_165 _endpos_165 _v_167 MenhirState1379 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | IMPLIES ->
                      _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1362 _menhir_initp
                  | IFF ->
                      _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1362 _menhir_initp
                  | FORALL_OP _v_168 ->
                      let _startpos_169 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_170 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1362, _v_168, _startpos_169, _endpos_170) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_171 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_172 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_171, _endpos_172) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | IDENT _v_173 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_173 MenhirState1384 _menhir_initp
                          | HASH ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | COLON ->
                              let _v_174 = _menhir_action_217 () in
                              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_172 _endpos_172 _v_174 MenhirState1384 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | EXISTS_OP _v_175 ->
                      let _startpos_176 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_177 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1362, _v_175, _startpos_176, _endpos_177) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_178 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_179 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_178, _endpos_179) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | IDENT _v_180 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_180 MenhirState1389 _menhir_initp
                          | HASH ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | COLON ->
                              let _v_181 = _menhir_action_217 () in
                              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_179 _endpos_179 _v_181 MenhirState1389 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | EQUALS ->
                      _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1362 _menhir_initp
                  | DISJUNCTION ->
                      _menhir_run_0312 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1362 _menhir_initp
                  | CONJUNCTION ->
                      _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1362 _menhir_initp
                  | COLON_EQUALS ->
                      _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1362 _menhir_initp
                  | COLON_COLON ->
                      _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1362 _menhir_initp
                  | AND_OP _v_182 ->
                      let _startpos_183 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_184 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState1362, _v_182, _startpos_183, _endpos_184) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_185 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_186 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_185, _endpos_186) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | IDENT _v_187 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_187 MenhirState1394 _menhir_initp
                          | HASH ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | COLON ->
                              let _v_188 = _menhir_action_217 () in
                              _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_186 _endpos_186 _v_188 MenhirState1394 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | IDENT _v_189 ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_189 MenhirState1361 _menhir_initp
              | _ ->
                  _eRR ())
          | REC ->
              _menhir_run_1352 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1360 _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_190 = _menhir_action_209 () in
              _menhir_run_1407 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_190 MenhirState1360 _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 = MenhirState1409 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 = MenhirState1412 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 = MenhirState1414 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 = MenhirState1419 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 = MenhirState1420 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 = MenhirState1431 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_199 ->
          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_199) in
          let _v = _menhir_action_445 _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_1220 : 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_558 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
      | MenhirState1219 ->
          _menhir_run_1221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_1224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1226 ->
          _menhir_run_1224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1221 : 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_365 s in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1224 : 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_350 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
      | MenhirState1223 ->
          _menhir_run_1225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1226 ->
          _menhir_run_1227 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1225 : 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_366 s_opt in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_opt_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1227 : 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_367 s_opt in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_opt_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1321 : 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 = MenhirState1321 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_1352 : 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_208 () 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
      | MenhirState1351 ->
          _menhir_run_1353 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1360 ->
          _menhir_run_1407 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1353 : 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_0397 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1353 _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 = MenhirState1353 in
          let _v = _menhir_action_138 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1407 : 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_0397 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1407 _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 = MenhirState1407 in
          let _v = _menhir_action_138 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0989 : 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 MenhirState0989 _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_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_398 () 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_0986 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0987 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | INLINE ->
          _menhir_run_0988 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | ASSUME ->
          _menhir_run_0989 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | EOF ->
          let _v = _menhir_action_227 () in
          _menhir_run_1437 _menhir_stack _v
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | 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_229 () in
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0000 _tok _endpos
      | _ ->
          _eRR ()
  
  let _menhir_run_1446 : 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 MenhirState1446 _endpos
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | IRREDUCIBLE ->
          _menhir_run_0986 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0987 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | INLINE ->
          _menhir_run_0988 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | EOF ->
          let _v = _menhir_action_306 () in
          _menhir_goto_oneDeclOrEOF _menhir_stack _v
      | ASSUME ->
          _menhir_run_0989 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1446 _endpos
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | 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_229 () in
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1446 _tok _endpos
      | _ ->
          _eRR ()
  
  let _menhir_run_1501 : type  ttv_stack. ttv_stack -> _ -> _ -> _menhir_box_term =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer ->
      let _menhir_s = MenhirState1501 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_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0189 _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_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0190 _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_0150 _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_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0268 _menhir_stack _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_0270 _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_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0278 _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_1501 _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_1446 _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
