
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 (
# 84 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 28 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | UINT64 of (
# 87 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 33 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | UINT32 of (
# 86 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 38 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | UINT16 of (
# 85 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 43 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | TYP_APP_LESS
    | TYP_APP_GREATER
    | TYPE
    | TVAR of (
# 73 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 51 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | TRY
    | TRUE
    | TOTAL
    | TILDE of (
# 74 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 59 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | THEN
    | SYNTH
    | SUB_EFFECT
    | SUBTYPE
    | SUBKIND
    | STRING of (
# 70 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 69 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | SQUIGGLY_RARROW
    | SPLICET
    | SPLICE
    | SIZET of (
# 88 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 77 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | SET_RANGE_OF
    | SEQ_BANG_LBRACK
    | SEMICOLON_OP of (
# 106 "fstar-guts/FStarC_Parser_Parse.mly"
       (string option)
# 84 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | SEMICOLON
    | RPAREN
    | RETURNS_EQ
    | RETURNS
    | REQUIRES
    | REIFY
    | REIFIABLE
    | REFLECTABLE
    | REC
    | REAL of (
# 89 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 98 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | RBRACK
    | RBRACE
    | RARROW
    | RANGE_OF
    | RANGE of (
# 82 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 107 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | 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
    | POLYMONADIC_SUBCOMP
    | POLYMONADIC_BIND
    | PIPE_RIGHT
    | PIPE_LEFT
    | PERCENT_LBRACK
    | OP_MIXFIX_ASSIGNMENT of (
# 142 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 128 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OP_MIXFIX_ACCESS of (
# 142 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 133 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPPREFIX of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 138 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX4 of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 143 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX3 of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 148 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX2 of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 153 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX1 of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 158 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX0d of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 163 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX0c of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 168 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX0b of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 173 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPINFIX0a of (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 178 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | OPEN
    | OPAQUE
    | OF
    | NOEXTRACT
    | NOEQUALITY
    | NEW_EFFECT
    | NEW
    | NAME of (
# 72 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 190 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | MODULE
    | MINUS
    | MATCH_OP of (
# 94 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 197 "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)
# 207 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | LET of (
# 91 "fstar-guts/FStarC_Parser_Parse.mly"
       (bool)
# 212 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | 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 (
# 77 "fstar-guts/FStarC_Parser_Parse.mly"
       (string * bool)
# 232 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | INT64 of (
# 80 "fstar-guts/FStarC_Parser_Parse.mly"
       (string * bool)
# 237 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | INT32 of (
# 79 "fstar-guts/FStarC_Parser_Parse.mly"
       (string * bool)
# 242 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | INT16 of (
# 78 "fstar-guts/FStarC_Parser_Parse.mly"
       (string * bool)
# 247 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | INT of (
# 81 "fstar-guts/FStarC_Parser_Parse.mly"
       (string * bool)
# 252 "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)
# 263 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | IFF
    | IF
    | IDENT of (
# 71 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 270 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | HASH
    | FUNCTION
    | FUN
    | FRIEND
    | FORALL_OP of (
# 99 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 279 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | FORALL of (
# 98 "fstar-guts/FStarC_Parser_Parse.mly"
       (bool)
# 284 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | FALSE
    | EXISTS_OP of (
# 97 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 290 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | EXISTS of (
# 96 "fstar-guts/FStarC_Parser_Parse.mly"
       (bool)
# 295 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | EXCEPTION
    | EQUALTYPE
    | EQUALS
    | EOF
    | ENSURES
    | END
    | ELSE
    | ELIM
    | EFFECT
    | DOT_LPAREN
    | DOT_LENS_PAREN_LEFT
    | DOT_LBRACK_BAR
    | DOT_LBRACK
    | DOT
    | DOLLAR
    | DISJUNCTION
    | DEFAULT
    | DECREASES
    | CONJUNCTION
    | COMMA
    | COLON_EQUALS
    | COLON_COLON
    | COLON
    | CLASS
    | CHAR of (
# 90 "fstar-guts/FStarC_Parser_Parse.mly"
       (FStar_Char.char)
# 324 "fstar-guts/FStarC_Parser_Parse.ml"
  )
    | CALC
    | BY
    | BLOB of (
# 143 "fstar-guts/FStarC_Parser_Parse.mly"
      (string * string * Lexing.position * FStarC_Sedlexing.snap)
# 331 "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)
# 349 "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_Util
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 do_notation_deprecation_warning =
  "The lightweight do notation [x <-- y; z] or [x ;; z] is deprecated, use let operators (i.e. [let* x = y in z] or [y ;* z], [*] being any sequence of operator characters) 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


# 427 "fstar-guts/FStarC_Parser_Parse.ml"

type ('s, 'r) _menhir_state = 
  | MenhirState0000 : ('s, _menhir_box_inputFragment) _menhir_state
    (** State 0000.
        Stack shape : .
        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>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0068 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0068.
        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>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0120 : (('s, 'r) _menhir_cell1_qlident, 'r) _menhir_state
    (** State 0120.
        Stack shape : qlident.
        Start symbol: <undetermined>. *)

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

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

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

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

  | MenhirState0140 : ((('s, 'r) _menhir_cell1_quident, 'r) _menhir_cell1_QMARK_DOT, 'r) _menhir_state
    (** State 0140.
        Stack shape : quident QMARK_DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0143 : ((('s, 'r) _menhir_cell1_quident, 'r) _menhir_cell1_DOT_LPAREN, 'r) _menhir_state
    (** State 0143.
        Stack shape : quident DOT_LPAREN.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0181 : (('s, 'r) _menhir_cell1_universeFrom _menhir_cell0_OPINFIX2, 'r) _menhir_state
    (** State 0181.
        Stack shape : universeFrom OPINFIX2.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0407 : ((('s, 'r) _menhir_cell1_attribute _menhir_cell0_LET, 'r) _menhir_cell1_letqualifier, 'r) _menhir_state
    (** State 0407.
        Stack shape : attribute LET letqualifier.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0452 : ((('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0452.
        Stack shape : LBRACE_BAR lidentOrUnderscore COLON.
        Start symbol: <undetermined>. *)

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

  | MenhirState0458 : ((((('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 0458.
        Stack shape : maybeFocus LPAREN TILDE RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0587 : (((((('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 0587.
        Stack shape : maybeFocus LPAREN TILDE RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0590 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0590.
        Stack shape : maybeFocus LPAREN OPPREFIX RPAREN.
        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_state
    (** State 0591.
        Stack shape : maybeFocus LPAREN OPPREFIX RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0593 : (((((('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 0593.
        Stack shape : maybeFocus LPAREN OPPREFIX RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

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

  | MenhirState0596 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_cell1_RPAREN, 'r) _menhir_state
    (** State 0596.
        Stack shape : maybeFocus LPAREN MINUS RPAREN.
        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_state
    (** State 0597.
        Stack shape : maybeFocus LPAREN MINUS RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0599 : ((((((('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 0599.
        Stack shape : maybeFocus LPAREN MINUS RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0602 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0602.
        Stack shape : maybeFocus LPAREN LET_OP RPAREN.
        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_state
    (** State 0603.
        Stack shape : maybeFocus LPAREN LET_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0605 : (((((('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 0605.
        Stack shape : maybeFocus LPAREN LET_OP RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0608 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0608.
        Stack shape : maybeFocus LPAREN FORALL_OP RPAREN.
        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_state
    (** State 0609.
        Stack shape : maybeFocus LPAREN FORALL_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0611 : (((((('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 0611.
        Stack shape : maybeFocus LPAREN FORALL_OP RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0614 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0614.
        Stack shape : maybeFocus LPAREN EXISTS_OP RPAREN.
        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_state
    (** State 0615.
        Stack shape : maybeFocus LPAREN EXISTS_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0617 : (((((('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 0617.
        Stack shape : maybeFocus LPAREN EXISTS_OP RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0620 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0620.
        Stack shape : maybeFocus LPAREN AND_OP RPAREN.
        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_state
    (** State 0621.
        Stack shape : maybeFocus LPAREN AND_OP RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0623 : (((((('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 0623.
        Stack shape : maybeFocus LPAREN AND_OP RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0633 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0633.
        Stack shape : maybeFocus LPAREN binop_name RPAREN.
        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_state
    (** State 0634.
        Stack shape : maybeFocus LPAREN binop_name RPAREN nonempty_list(patternOrMultibinder).
        Start symbol: <undetermined>. *)

  | MenhirState0636 : (((((('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 0636.
        Stack shape : maybeFocus LPAREN binop_name RPAREN nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

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

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

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

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

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

  | MenhirState0647 : ((((('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 0647.
        Stack shape : maybeFocus lident nonempty_list(patternOrMultibinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0649 : (((('s, 'r) _menhir_cell1_attribute _menhir_cell0_LET, 'r) _menhir_cell1_letqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_state
    (** State 0649.
        Stack shape : attribute LET letqualifier letbinding.
        Start symbol: <undetermined>. *)

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

  | MenhirState0654 : ((((('s, 'r) _menhir_cell1_attribute _menhir_cell0_LET, 'r) _menhir_cell1_letqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_cell1_list_attr_letbinding_ _menhir_cell0_IN, 'r) _menhir_state
    (** State 0654.
        Stack shape : attribute LET letqualifier letbinding list(attr_letbinding) IN.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

  | MenhirState0678 : ((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_qlident, 'r) _menhir_state
    (** State 0678.
        Stack shape : LBRACE qlident.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0751 : (((((('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 0751.
        Stack shape : ELIM tmFormula IMPLIES tmFormula WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0753 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_state
    (** State 0753.
        Stack shape : ELIM tmFormula DISJUNCTION.
        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_state
    (** State 0755.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS.
        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_state
    (** State 0757.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH.
        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_state
    (** State 0759.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT.
        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_state
    (** State 0761.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT noSeqTerm AND.
        Start symbol: <undetermined>. *)

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

  | MenhirState0766 : ((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_state
    (** State 0766.
        Stack shape : ELIM tmConjunction CONJUNCTION.
        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_state
    (** State 0768.
        Stack shape : ELIM tmConjunction CONJUNCTION tmTuple RETURNS.
        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_state
    (** State 0770.
        Stack shape : ELIM tmConjunction CONJUNCTION tmTuple RETURNS noSeqTerm WITH.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

  | MenhirState0811 : (('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_BACKTICK, 'r) _menhir_state
    (** State 0811.
        Stack shape : tmNoEqWith(appTermNoRecordExp) BACKTICK.
        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_LBRACE_BAR, 'r) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0825.
        Stack shape : LBRACE_BAR lidentOrUnderscore COLON.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0856 : (((((('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 0856.
        Stack shape : INTRO tmFormula IMPLIES tmFormula WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0858 : ((((((('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 0858.
        Stack shape : INTRO tmFormula IMPLIES tmFormula WITH singleBinder DOT.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState0923 : ((((('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 0923.
        Stack shape : LPAREN aqualifiedWithAttrs(lident) nonempty_list(aqualifiedWithAttrs(lident)) COLON simpleArrow.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState0935 : (('s, 'r) _menhir_cell1_appTerm, 'r) _menhir_state
    (** State 0935.
        Stack shape : appTerm.
        Start symbol: <undetermined>. *)

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

  | MenhirState0942 : ((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_letqualifier, 'r) _menhir_state
    (** State 0942.
        Stack shape : LET letqualifier.
        Start symbol: <undetermined>. *)

  | MenhirState0943 : (((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_letqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_state
    (** State 0943.
        Stack shape : LET letqualifier letbinding.
        Start symbol: <undetermined>. *)

  | MenhirState0945 : ((((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_letqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_cell1_list_attr_letbinding_ _menhir_cell0_IN, 'r) _menhir_state
    (** State 0945.
        Stack shape : LET letqualifier letbinding list(attr_letbinding) IN.
        Start symbol: <undetermined>. *)

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

  | MenhirState0953 : ((('s, 'r) _menhir_cell1_LENS_PAREN_LEFT, 'r) _menhir_cell1_constructorPattern, 'r) _menhir_state
    (** State 0953.
        Stack shape : LENS_PAREN_LEFT constructorPattern.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

  | MenhirState0978 : ((('s, 'r) _menhir_cell1_LENS_PAREN_LEFT, 'r) _menhir_cell1_tmEq, 'r) _menhir_state
    (** State 0978.
        Stack shape : LENS_PAREN_LEFT tmEq.
        Start symbol: <undetermined>. *)

  | MenhirState0981 : (((('s, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_cell1_quident, 'r) _menhir_state
    (** State 0981.
        Stack shape : OPPREFIX OPPREFIX quident.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState1057 : (('s, 'r) _menhir_cell1_TYP_APP_LESS, 'r) _menhir_state
    (** State 1057.
        Stack shape : TYP_APP_LESS.
        Start symbol: <undetermined>. *)

  | MenhirState1059 : (('s, 'r) _menhir_cell1_tvar, 'r) _menhir_state
    (** State 1059.
        Stack shape : tvar.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState1225 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICET _menhir_cell0_LBRACK, 'r) _menhir_cell1_loption_separated_nonempty_list_SEMICOLON_ident__ _menhir_cell0_RBRACK, 'r) _menhir_state
    (** State 1225.
        Stack shape : list(decoration) SPLICET LBRACK loption(separated_nonempty_list(SEMICOLON,ident)) RBRACK.
        Start symbol: <undetermined>. *)

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

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

  | MenhirState1233 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICE _menhir_cell0_LBRACK, 'r) _menhir_cell1_loption_separated_nonempty_list_SEMICOLON_ident__ _menhir_cell0_RBRACK, 'r) _menhir_state
    (** State 1233.
        Stack shape : list(decoration) SPLICE LBRACK loption(separated_nonempty_list(SEMICOLON,ident)) RBRACK.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState1379 : ((((('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 1379.
        Stack shape : list(decoration) INSTANCE VAL LPAREN TILDE 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_TILDE _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1381.
        Stack shape : list(decoration) INSTANCE VAL LPAREN TILDE 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_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1384.
        Stack shape : list(decoration) INSTANCE VAL LPAREN OPPREFIX 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_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1386.
        Stack shape : list(decoration) INSTANCE VAL LPAREN OPPREFIX 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_MINUS _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1389.
        Stack shape : list(decoration) INSTANCE VAL LPAREN MINUS 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_MINUS _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1391.
        Stack shape : list(decoration) INSTANCE VAL LPAREN MINUS 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_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1394.
        Stack shape : list(decoration) INSTANCE VAL LPAREN LET_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_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1396.
        Stack shape : list(decoration) INSTANCE VAL LPAREN LET_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_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1399.
        Stack shape : list(decoration) INSTANCE VAL LPAREN FORALL_OP 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_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1401.
        Stack shape : list(decoration) INSTANCE VAL LPAREN FORALL_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  | MenhirState1461 : ('s, _menhir_box_oneDeclOrEOF) _menhir_state
    (** State 1461.
        Stack shape : .
        Start symbol: oneDeclOrEOF. *)

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

  | MenhirState1516 : ('s, _menhir_box_term) _menhir_state
    (** State 1516.
        Stack shape : .
        Start symbol: term. *)

  | MenhirState1518 : ('s, _menhir_box_warn_error_list) _menhir_state
    (** State 1518.
        Stack shape : .
        Start symbol: warn_error_list. *)

  | MenhirState1528 : (('s, _menhir_box_warn_error_list) _menhir_cell1_flag _menhir_cell0_range, _menhir_box_warn_error_list) _menhir_state
    (** State 1528.
        Stack shape : flag range.
        Start symbol: warn_error_list. *)


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.monad_name * FStarC_Parser_AST.pattern)

and ('s, 'r) _menhir_cell1_flag = 
  | MenhirCell1_flag of 's * ('s, 'r) _menhir_state * (FStarC_Errors_Codes.error_flag)

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) * Lexing.position * Lexing.position

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

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

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

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

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

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

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

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_8_ = 
  | MenhirCell1_option___anonymous_8_ of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name option)

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

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

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

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

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

and ('s, 'r) _menhir_cell1_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.monad_name) * Lexing.position * Lexing.position

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

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

and 's _menhir_cell0_range = 
  | MenhirCell0_range of 's * (string)

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_10_ = 
  | MenhirCell1_reverse_left_flexible_list_BAR___anonymous_10_ 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_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.monad_name * 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_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_tvar = 
  | MenhirCell1_tvar of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name) * 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)
# 3568 "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_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_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 * (
# 96 "fstar-guts/FStarC_Parser_Parse.mly"
       (bool)
# 3692 "fstar-guts/FStarC_Parser_Parse.ml"
) * 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)
# 3699 "fstar-guts/FStarC_Parser_Parse.ml"
) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_FORALL = 
  | MenhirCell1_FORALL of 's * ('s, 'r) _menhir_state * (
# 98 "fstar-guts/FStarC_Parser_Parse.mly"
       (bool)
# 3706 "fstar-guts/FStarC_Parser_Parse.ml"
) * 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)
# 3713 "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 * (
# 71 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3732 "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

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 * (
# 91 "fstar-guts/FStarC_Parser_Parse.mly"
       (bool)
# 3802 "fstar-guts/FStarC_Parser_Parse.ml"
) * Lexing.position * Lexing.position

and 's _menhir_cell0_LET = 
  | MenhirCell0_LET of 's * (
# 91 "fstar-guts/FStarC_Parser_Parse.mly"
       (bool)
# 3809 "fstar-guts/FStarC_Parser_Parse.ml"
) * 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)
# 3816 "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 * (
# 72 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3841 "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)
# 3860 "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)
# 3867 "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)
# 3874 "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)
# 3881 "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)
# 3888 "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)
# 3895 "fstar-guts/FStarC_Parser_Parse.ml"
) * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX3 = 
  | MenhirCell0_OPINFIX3 of 's * (
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3902 "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)
# 3909 "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)
# 3916 "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_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_QMARK_DOT = 
  | MenhirCell1_QMARK_DOT of 's * ('s, 'r) _menhir_state

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)
# 3980 "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 * (
# 74 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 4008 "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_TYP_APP_LESS = 
  | MenhirCell1_TYP_APP_LESS of 's * ('s, 'r) _menhir_state * 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_warn_error_list = 
  | MenhirBox_warn_error_list of ((FStarC_Errors_Codes.error_flag * string) list) [@@unboxed]

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_004 =
  fun t ->
    (
# 1420 "fstar-guts/FStarC_Parser_Parse.mly"
                       ( t )
# 4058 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_005 =
  fun t ->
    (
# 1421 "fstar-guts/FStarC_Parser_Parse.mly"
                                 ( t )
# 4066 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_006 =
  fun a ->
    let h = 
# 1433 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4074 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1408 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( [h, a] )
# 4079 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_007 =
  fun a ->
    let h = 
# 1434 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4087 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1408 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( [h, a] )
# 4092 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_008 =
  fun a rest ->
    let h = 
# 1433 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4100 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1409 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( (h, a) :: rest )
# 4105 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_009 =
  fun a rest ->
    let h = 
# 1434 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4113 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1409 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( (h, a) :: rest )
# 4118 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_010 =
  fun e rest ->
    let a = 
# 1312 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 4126 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let h = 
# 1433 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4131 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1410 "fstar-guts/FStarC_Parser_Parse.mly"
                                              ( (h, a) :: rest )
# 4136 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_011 =
  fun e rest ->
    let a = 
# 1312 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 4144 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let h = 
# 1434 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4149 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1410 "fstar-guts/FStarC_Parser_Parse.mly"
                                              ( (h, a) :: rest )
# 4154 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

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

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

let _menhir_action_014 =
  fun a rest ->
    let h = 
# 1433 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4178 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1424 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( (h, a) :: rest )
# 4183 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_015 =
  fun a rest ->
    let h = 
# 1434 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4191 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1424 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( (h, a) :: rest )
# 4196 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

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

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

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
    (
# 1416 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp head (map (fun (x,y) -> (y,x)) args) (rr2 _loc_head_ _loc_args_) )
# 4222 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_019 =
  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
    (
# 1416 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp head (map (fun (x,y) -> (y,x)) args) (rr2 _loc_head_ _loc_args_) )
# 4232 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

let _menhir_action_021 =
  fun t ->
    (
# 673 "fstar-guts/FStarC_Parser_Parse.mly"
                                     ( mk_meta_tac t )
# 4248 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_022 =
  fun () ->
    (
# 674 "fstar-guts/FStarC_Parser_Parse.mly"
              ( Implicit )
# 4256 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_023 =
  fun () ->
    (
# 675 "fstar-guts/FStarC_Parser_Parse.mly"
              ( Equality )
# 4264 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_024 =
  fun aq attrs x ->
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4272 "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 aq x ->
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4281 "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 attrs x ->
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4290 "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 x ->
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 4299 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_028 =
  fun aq attrs id ->
    let x = 
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4308 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4313 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_029 =
  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
        
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4327 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4333 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4339 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_030 =
  fun aq attrs op ->
    let x =
      let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4349 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4354 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4360 "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
        
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4374 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4380 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4386 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_032 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4400 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4406 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4412 "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
          
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4427 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4433 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4439 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4445 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_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
          
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4460 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4466 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4472 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4478 "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
          
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4493 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4499 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4505 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4511 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_036 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 4526 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4532 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4538 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4544 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_037 =
  fun aq id ->
    let x = 
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4553 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4558 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_038 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4572 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4578 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4584 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_039 =
  fun aq op ->
    let x =
      let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4594 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4599 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4605 "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
        
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4619 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4625 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4631 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_041 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4645 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4651 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4657 "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
          
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4672 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4678 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4684 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4690 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_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
          
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4705 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4711 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4717 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4723 "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
          
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4738 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4744 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4750 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4756 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_045 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 4771 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4777 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4783 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4789 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_046 =
  fun attrs id ->
    let x = 
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4798 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4803 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_047 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4817 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4823 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4829 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_048 =
  fun attrs op ->
    let x =
      let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4839 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4844 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4850 "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
        
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4864 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4870 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4876 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_050 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4890 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4896 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4902 "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
          
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4917 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4923 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4929 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4935 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_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
          
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4950 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4956 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4962 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4968 "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
          
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4983 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4989 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4995 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5001 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_054 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5016 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5022 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5028 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5034 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_055 =
  fun id ->
    let x = 
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 5043 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5048 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_056 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5062 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5068 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5074 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_057 =
  fun op ->
    let x =
      let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5084 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5089 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5095 "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
        
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5109 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5115 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5121 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_059 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5135 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5141 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5147 "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
          
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5162 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5168 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5174 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5180 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_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
          
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5195 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5201 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5207 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5213 "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
          
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5228 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5234 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5240 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5246 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_063 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5261 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5267 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5273 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5279 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_064 =
  fun aq attrs x ->
    (
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 5288 "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 aq x ->
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 5297 "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 attrs x ->
    (
# 826 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5306 "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 x ->
    (
# 827 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5315 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_068 =
  fun k ->
    (
# 906 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( k )
# 5324 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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
    (
# 706 "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
      )
# 5349 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_071 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ xs ->
    let pats = 
# 241 "<standard.mly>"
    ( xs )
# 5357 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 712 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatList pats) (rr2 _loc__1_ _loc__3_) )
# 5364 "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
    (
# 714 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatRecord record_pat) (rr _loc) )
# 5375 "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
    (
# 716 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatTuple(pat0::pats, true)) (rr _loc) )
# 5386 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

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

let _menhir_action_075 =
  fun _endpos_tv_ _startpos_tv_ tv ->
    let _loc_tv_ = (_startpos_tv_, _endpos_tv_) in
    (
# 718 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( mk_pattern (PatTvar (tv, None, [])) (rr _loc_tv_) )
# 5403 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_076 =
  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
      
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5415 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5424 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_077 =
  fun _endpos__3_ _startpos__1_ op ->
    let op = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5432 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5440 "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
      
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5452 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5461 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_079 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5473 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5482 "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
        
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5495 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5501 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5510 "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
        
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5523 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5529 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5538 "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
        
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5551 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5557 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5566 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_083 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5579 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5585 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5594 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

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

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

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

let _menhir_action_087 =
  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
    (
# 728 "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 )
# 5645 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

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

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

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

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

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

let _menhir_action_093 =
  fun x ->
    (
# 1454 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5700 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

let _menhir_action_095 =
  fun _endpos_tv_ _startpos_tv_ tv ->
    let _endpos = _endpos_tv_ in
    let _startpos = _startpos_tv_ in
    let _loc = (_startpos, _endpos) in
    (
# 1489 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Tvar tv) (rr _loc) Type_level )
# 5722 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

let _menhir_action_097 =
  fun x ->
    (
# 1492 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5741 "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
      
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5753 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5761 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_099 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ op ->
    let op = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5769 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5776 "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 _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5788 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5796 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_101 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5808 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5816 "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
        
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5829 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5835 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5843 "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
        
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5856 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5862 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5870 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_104 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5883 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5889 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5897 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_105 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5910 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5916 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5924 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

let _menhir_action_107 =
  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
    (
# 1498 "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 )
# 5944 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_108 =
  fun e ->
    (
# 1500 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 5952 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

let _menhir_action_112 =
  fun _endpos_n_ _startpos_n_ n ->
    let _endpos = _endpos_n_ in
    let _startpos = _startpos_n_ in
    let _loc_n_ = (_startpos_n_, _endpos_n_) in
    let _loc = (_startpos, _endpos) in
    (
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        if snd n then
          log_issue_text (rr _loc) Error_OutOfRange ("This number is outside the allowable range for representable integer constants");
        mk_term (Const (Const_int (fst n, None))) (rr _loc_n_) Expr
      )
# 6004 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

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

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

let _menhir_action_118 =
  fun l ->
    let x = 
# 1562 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 6074 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 274 "fstar-guts/FStarC_Parser_Parse.mly"
      ( x )
# 6079 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

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

let _menhir_action_120 =
  fun _endpos_tv_ _startpos_tv_ tv ->
    let _endpos = _endpos_tv_ in
    let _startpos = _startpos_tv_ in
    let _loc = (_startpos, _endpos) in
    (
# 788 "fstar-guts/FStarC_Parser_Parse.mly"
            ( mk_binder (TVariable tv) (rr _loc) Kind None  )
# 6102 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder))

let _menhir_action_121 =
  fun l ->
    let t = 
# 1562 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 6110 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 678 "fstar-guts/FStarC_Parser_Parse.mly"
                                               ( t )
# 6115 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

let _menhir_action_122 =
  fun bss ->
    (
# 821 "fstar-guts/FStarC_Parser_Parse.mly"
                                       ( flatten bss )
# 6123 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

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
    (
# 1353 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6134 "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
    (
# 1354 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6145 "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
    (
# 1355 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6156 "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
    (
# 1356 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("=", rr _loc) )
# 6167 "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
    (
# 1357 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6178 "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
    (
# 1358 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6189 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

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

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

let _menhir_action_131 =
  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) )
# 6222 "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
    (
# 1362 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("==>", rr _loc) )
# 6233 "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
    (
# 1363 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("/\\", rr _loc) )
# 6244 "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
    (
# 1364 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("\\/", rr _loc) )
# 6255 "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
    (
# 1365 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("<==>", rr _loc) )
# 6266 "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
    (
# 1366 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (":=", rr _loc) )
# 6277 "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
    (
# 1367 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("::", rr _loc) )
# 6288 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

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

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

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

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

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

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

let _menhir_action_144 =
  fun t ->
    (
# 1143 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 6354 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_145 =
  fun _endpos__2_ _endpos__4_ _startpos__2_ _startpos__4_ justif next rel ->
    let _loc__4_ = (_startpos__4_, _endpos__4_) in
    let _loc__2_ = (_startpos__2_, _endpos__2_) in
    (
# 1147 "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)
     )
# 6371 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.calc_step))

let _menhir_action_146 =
  fun pats ->
    (
# 1184 "fstar-guts/FStarC_Parser_Parse.mly"
                                                              ( pats )
# 6379 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_147 =
  fun () ->
    (
# 1565 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Const_unit )
# 6387 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_148 =
  fun _endpos_n_ _startpos_n_ n ->
    let _endpos = _endpos_n_ in
    let _startpos = _startpos_n_ in
    let _loc = (_startpos, _endpos) in
    (
# 1567 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        if snd n then
          log_issue_text (rr _loc) Error_OutOfRange "This number is outside the allowable range for representable integer constants";
        Const_int (fst n, None)
     )
# 6402 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_149 =
  fun c ->
    (
# 1572 "fstar-guts/FStarC_Parser_Parse.mly"
           ( Const_char c )
# 6410 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

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

let _menhir_action_151 =
  fun () ->
    (
# 1574 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Const_bool true )
# 6429 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_152 =
  fun () ->
    (
# 1575 "fstar-guts/FStarC_Parser_Parse.mly"
          ( Const_bool false )
# 6437 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_153 =
  fun r ->
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
           ( Const_real r )
# 6445 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

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

let _menhir_action_155 =
  fun _endpos_n_ _startpos_n_ n ->
    let _endpos = _endpos_n_ in
    let _startpos = _startpos_n_ in
    let _loc = (_startpos, _endpos) in
    (
# 1579 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        if snd n then
          log_issue_text (rr _loc) Error_OutOfRange "This number is outside the allowable range for 8-bit signed integers";
        Const_int (fst n, Some (Signed, Int8))
      )
# 6468 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

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

let _menhir_action_157 =
  fun _endpos_n_ _startpos_n_ n ->
    let _endpos = _endpos_n_ in
    let _startpos = _startpos_n_ in
    let _loc = (_startpos, _endpos) in
    (
# 1586 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        if snd n then
          log_issue_text (rr _loc) Error_OutOfRange "This number is outside the allowable range for 16-bit signed integers";
        Const_int (fst n, Some (Signed, Int16))
      )
# 6491 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

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

let _menhir_action_159 =
  fun _endpos_n_ _startpos_n_ n ->
    let _endpos = _endpos_n_ in
    let _startpos = _startpos_n_ in
    let _loc = (_startpos, _endpos) in
    (
# 1593 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        if snd n then
          log_issue_text (rr _loc) Error_OutOfRange "This number is outside the allowable range for 32-bit signed integers";
        Const_int (fst n, Some (Signed, Int32))
      )
# 6514 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

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

let _menhir_action_161 =
  fun _endpos_n_ _startpos_n_ n ->
    let _endpos = _endpos_n_ in
    let _startpos = _startpos_n_ in
    let _loc = (_startpos, _endpos) in
    (
# 1600 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        if snd n then
          log_issue_text (rr _loc) Error_OutOfRange "This number is outside the allowable range for 64-bit signed integers";
        Const_int (fst n, Some (Signed, Int64))
      )
# 6537 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

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

let _menhir_action_163 =
  fun () ->
    (
# 1607 "fstar-guts/FStarC_Parser_Parse.mly"
            ( Const_reify None )
# 6553 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_164 =
  fun () ->
    (
# 1608 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( Const_range_of )
# 6561 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_165 =
  fun () ->
    (
# 1609 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( Const_set_range_of )
# 6569 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

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

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

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

let _menhir_action_169 =
  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
    (
# 697 "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)
      )
# 6626 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_170 =
  fun pat ->
    (
# 702 "fstar-guts/FStarC_Parser_Parse.mly"
      ( pat )
# 6634 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_171 =
  fun e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6643 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 6648 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 490 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpArbitrary  t)
# 6654 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_172 =
  fun e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6663 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 6668 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 491 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpOfNotation t)
# 6674 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_173 =
  fun opt record_field_decls ->
    let fields = 
# 469 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 6682 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 492 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpRecord(fields, opt))
# 6687 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

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

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

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

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

let _menhir_action_178 =
  fun x ->
    (
# 279 "fstar-guts/FStarC_Parser_Parse.mly"
      ( DeclAttributes x )
# 6753 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration))

let _menhir_action_179 =
  fun x ->
    (
# 281 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Qualifier x )
# 6761 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration))

let _menhir_action_180 =
  fun pats ->
    (
# 1181 "fstar-guts/FStarC_Parser_Parse.mly"
                                                              ( pats )
# 6769 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_181 =
  fun pats ->
    (
# 686 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    ( pats )
# 6777 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

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

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

let _menhir_action_184 =
  fun e lid ->
    let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6810 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 547 "fstar-guts/FStarC_Parser_Parse.mly"
    ( RedefineEffect(lid, [], t) )
# 6815 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_185 =
  fun x y ->
    let p = 
# 180 "<standard.mly>"
    ( (x, y) )
# 6823 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 750 "fstar-guts/FStarC_Parser_Parse.mly"
      ( p )
# 6828 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.pattern))

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

let _menhir_action_187 =
  fun op ->
    (
# 1658 "fstar-guts/FStarC_Parser_Parse.mly"
    ( if op = "@" then CAlwaysError else failwith (format1 "unexpected token %s in warn-error list" op))
# 6845 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Errors_Codes.error_flag))

let _menhir_action_188 =
  fun op ->
    (
# 1660 "fstar-guts/FStarC_Parser_Parse.mly"
    ( if op = "+" then CWarning else failwith (format1 "unexpected token %s in warn-error list" op))
# 6853 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Errors_Codes.error_flag))

let _menhir_action_189 =
  fun () ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
          ( CSilent )
# 6861 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Errors_Codes.error_flag))

let _menhir_action_190 =
  fun targs ->
    (
# 1542 "fstar-guts/FStarC_Parser_Parse.mly"
    (targs)
# 6869 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_191 =
  fun () ->
    (
# 1558 "fstar-guts/FStarC_Parser_Parse.mly"
            ( Type_level )
# 6877 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.level))

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

let _menhir_action_193 =
  fun x ->
    (
# 846 "fstar-guts/FStarC_Parser_Parse.mly"
             ( x )
# 6893 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_194 =
  fun x ->
    (
# 847 "fstar-guts/FStarC_Parser_Parse.mly"
              ( x )
# 6901 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_195 =
  fun () ->
    (
# 870 "fstar-guts/FStarC_Parser_Parse.mly"
       (None)
# 6909 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

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

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

let _menhir_action_198 =
  fun e ->
    (
# 1445 "fstar-guts/FStarC_Parser_Parse.mly"
    ( e )
# 6938 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_199 =
  fun decls ->
    (
# 187 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        as_frag (List.flatten decls)
      )
# 6948 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.inputFragment))

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

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

let _menhir_action_202 =
  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 = 
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 6995 "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
    (
# 523 "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))
      )
# 7012 "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 _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 7025 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7031 "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
    (
# 523 "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))
      )
# 7049 "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_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 7058 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7063 "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
    (
# 523 "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))
      )
# 7081 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_205 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 7094 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7100 "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
    (
# 523 "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))
      )
# 7118 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_206 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_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
        
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 7131 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7137 "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
    (
# 523 "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))
      )
# 7155 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_207 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 7169 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 7175 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7181 "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
    (
# 523 "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))
      )
# 7199 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_208 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 7213 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 7219 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7225 "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
    (
# 523 "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))
      )
# 7243 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_209 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 7257 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 7263 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7269 "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
    (
# 523 "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))
      )
# 7287 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_210 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 7301 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 7307 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7313 "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
    (
# 523 "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))
      )
# 7331 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

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

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

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

let _menhir_action_214 =
  fun () ->
    (
# 664 "fstar-guts/FStarC_Parser_Parse.mly"
                ( Rec )
# 7380 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.let_qualifier))

let _menhir_action_215 =
  fun () ->
    (
# 665 "fstar-guts/FStarC_Parser_Parse.mly"
                ( NoLetQualifier )
# 7388 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.let_qualifier))

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

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

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

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

let _menhir_action_220 =
  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
        
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 7440 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1030 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                           ((op, b))
# 7446 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7452 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))
  list))

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

let _menhir_action_222 =
  fun id xs ->
    let x = 
# 1497 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    (id)
# 7470 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7475 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name list))

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

let _menhir_action_224 =
  fun bs xs ->
    let x = 
# 821 "fstar-guts/FStarC_Parser_Parse.mly"
                                 (bs)
# 7491 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7496 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list list))

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

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

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

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

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

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

let _menhir_action_231 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7556 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   FStarC_Parser_AST.constructor_payload option *
   FStarC_Parser_AST.attributes_)
  list))

let _menhir_action_232 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7567 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   FStarC_Parser_AST.constructor_payload option *
   FStarC_Parser_AST.attributes_)
  list))

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

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

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

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

let _menhir_action_237 =
  fun () ->
    (
# 145 "<standard.mly>"
    ( [] )
# 7610 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_238 =
  fun x ->
    (
# 148 "<standard.mly>"
    ( x )
# 7618 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

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

let _menhir_action_240 =
  fun x ->
    (
# 148 "<standard.mly>"
    ( x )
# 7634 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_241 =
  fun () ->
    (
# 145 "<standard.mly>"
    ( [] )
# 7642 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_242 =
  fun x ->
    (
# 148 "<standard.mly>"
    ( x )
# 7650 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_243 =
  fun () ->
    (
# 145 "<standard.mly>"
    ( [] )
# 7658 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_244 =
  fun x ->
    (
# 148 "<standard.mly>"
    ( x )
# 7666 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_245 =
  fun () ->
    (
# 866 "fstar-guts/FStarC_Parser_Parse.mly"
          (None)
# 7674 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

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

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

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

let _menhir_action_249 =
  fun b ->
    (
# 661 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( b )
# 7707 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_250 =
  fun () ->
    (
# 1190 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( false )
# 7715 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_251 =
  fun () ->
    (
# 1191 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( true )
# 7723 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_252 =
  fun _endpos__5_ _startpos__1_ id t ->
    let _endpos = _endpos__5_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 794 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let r = rr _loc in
        [mk_binder (Annotated (id, t)) r Type_level (Some TypeClassArg)]
      )
# 7736 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_253 =
  fun _endpos__3_ _startpos__1_ t ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 799 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let r = rr _loc in
        let id = gen r in
        [mk_binder (Annotated (id, t)) r Type_level (Some TypeClassArg)]
      )
# 7750 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_254 =
  fun _endpos__6_ _startpos__1_ qual_ids r t ->
    let _endpos = _endpos__6_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 805 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let should_bind_var = match qual_ids with | [ _ ] -> true | _ -> false in
       List.map (fun ((q, attrs), x) ->
         mkRefinedBinder x t should_bind_var r (rr _loc) q attrs) qual_ids
     )
# 7765 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_255 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 812 "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]
    )
# 7780 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_256 =
  fun b ->
    (
# 818 "fstar-guts/FStarC_Parser_Parse.mly"
             ( [b] )
# 7788 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_257 =
  fun ed ->
    (
# 543 "fstar-guts/FStarC_Parser_Parse.mly"
    ( ed )
# 7796 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_258 =
  fun ed ->
    (
# 543 "fstar-guts/FStarC_Parser_Parse.mly"
    ( ed )
# 7804 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_259 =
  fun e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 7813 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 7818 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 943 "fstar-guts/FStarC_Parser_Parse.mly"
           ( t )
# 7824 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

let _menhir_action_263 =
  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
    (
# 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},Some tactic,true)) (rr2 _loc_e_ _loc_tactic_) Expr
      )
# 7876 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_264 =
  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
      
# 1707 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".()", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7888 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 961 "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
      )
# 7900 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

let _menhir_action_267 =
  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
      
# 1710 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( mk_ident (".(||)", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7960 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 961 "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
      )
# 7972 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_268 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 7981 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 7986 "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
    (
# 967 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Requires(t, None)) (rr2 _loc__1_ _loc_t_) Type_level )
# 7995 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_269 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 8004 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 8009 "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
    (
# 969 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Ensures(t, None)) (rr2 _loc__1_ _loc_t_) Type_level )
# 8018 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_270 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 8027 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 8032 "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
    (
# 971 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Decreases (t, None)) (rr2 _loc__1_ _loc_t_) Type_level )
# 8041 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

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

let _menhir_action_275 =
  fun _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ e1 xs ->
    let pbs = 
# 1744 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 8100 "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
    (
# 998 "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
      )
# 8111 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_276 =
  fun _endpos_op_ _endpos_xs_ _startpos_op_ _startpos_xs_ e op ret_opt xs ->
    let pbs = 
# 1734 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 8119 "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
    (
# 1003 "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
      )
# 8130 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

let _menhir_action_280 =
  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
      
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 8212 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1031 "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
    )
# 8223 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_281 =
  fun _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ xs ->
    let pbs = 
# 1744 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 8231 "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
    (
# 1036 "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_)
      )
# 8245 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_282 =
  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
    (
# 1041 "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)
      )
# 8259 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_283 =
  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
    (
# 1046 "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)
      )
# 8274 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

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

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

let _menhir_action_289 =
  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
    (
# 1080 "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
     )
# 8358 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

let _menhir_action_291 =
  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
    (
# 1092 "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
     )
# 8388 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_292 =
  fun _endpos__1_ _endpos_e2_ _startpos__1_ _startpos_e2_ e1 e2 p q ->
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1102 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (IntroAnd(p, q, e1, e2))  (rr2 _loc__1_ _loc_e2_) Expr
     )
# 8400 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

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

let _menhir_action_297 =
  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
    (
# 1127 "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
     )
# 8461 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_298 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8469 "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_299 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8479 "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_300 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8489 "fstar-guts/FStarC_Parser_Parse.ml"
     : (((FStarC_Parser_AST.aqual * FStarC_Parser_AST.typ list) *
   FStarC_Syntax_Syntax.univ_name)
  list))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

let _menhir_action_321 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e trigger ->
    let q = 
# 1162 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QForall x )
# 8751 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_q_, _startpos_q_) = (_endpos__1_, _startpos__1_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1466 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8767 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_322 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e trigger ->
    let q = 
# 1163 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QExists x)
# 8775 "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
    (
# 1466 "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
      )
# 8791 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_323 =
  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
      
# 1165 "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)
    )
# 8804 "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
    (
# 1466 "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
      )
# 8821 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_324 =
  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
      
# 1170 "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)
    )
# 8834 "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
    (
# 1466 "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
      )
# 8851 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

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

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

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

let _menhir_action_328 =
  fun id ->
    let x =
      let id = 
# 861 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 8888 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 8893 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8899 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_329 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 8913 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8919 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 8925 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8931 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_330 =
  fun op ->
    let x =
      let id =
        let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 8941 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8946 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 8952 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8958 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_331 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 8972 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 8978 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 8984 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8990 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_332 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 9004 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9010 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 9016 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9022 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_333 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 9037 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 9043 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9049 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 9055 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9061 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_334 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 9076 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 9082 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9088 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 9094 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9100 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_335 =
  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
            
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 9115 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 9121 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9127 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 9133 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9139 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_336 =
  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
            
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 9154 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 9160 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9166 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                             (id)
# 9172 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9178 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_337 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9186 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_338 =
  fun e ->
    let x =
      let phi = 
# 1394 "fstar-guts/FStarC_Parser_Parse.mly"
                ( {e with level=Formula} )
# 9195 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1391 "fstar-guts/FStarC_Parser_Parse.mly"
                                             (phi)
# 9200 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9206 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_339 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9214 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_340 =
  fun e ->
    let x =
      let t =
        let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9224 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 9229 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 428 "fstar-guts/FStarC_Parser_Parse.mly"
                                               (t)
# 9235 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9241 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_341 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9249 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_342 =
  fun e ->
    let x =
      let t =
        let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9259 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 9264 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 492 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   (t)
# 9270 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9276 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_343 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9284 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_344 =
  fun tm ->
    let x = 
# 505 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                   (tm)
# 9292 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9297 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_345 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9305 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_346 =
  fun tactic ->
    let x = 
# 902 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        (tactic)
# 9313 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9318 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

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

let _menhir_action_348 =
  fun i ->
    let x = 
# 938 "fstar-guts/FStarC_Parser_Parse.mly"
                              (i)
# 9334 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9339 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

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

let _menhir_action_350 =
  fun i ->
    let x = 
# 939 "fstar-guts/FStarC_Parser_Parse.mly"
                              (i)
# 9355 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9360 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_351 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9368 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_352 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9376 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_353 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9384 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) option))

let _menhir_action_354 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9392 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) option))

let _menhir_action_355 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9400 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload option))

let _menhir_action_356 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9408 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload option))

let _menhir_action_357 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9416 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list option))

let _menhir_action_358 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9424 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list option))

let _menhir_action_359 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9432 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool)
  option))

let _menhir_action_360 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9441 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool)
  option))

let _menhir_action_361 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9450 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.level * FStarC_Parser_AST.typ) option))

let _menhir_action_362 =
  fun e x ->
    let x =
      let y = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9459 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 172 "<standard.mly>"
    ( (x, y) )
# 9464 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9470 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.level * FStarC_Parser_AST.typ) option))

let _menhir_action_363 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9478 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string option))

let _menhir_action_364 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9486 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string option))

let _menhir_action_365 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9494 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_366 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9502 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_367 =
  fun id ->
    (
# 842 "fstar-guts/FStarC_Parser_Parse.mly"
          ( [id] )
# 9510 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_368 =
  fun p uid ->
    (
# 843 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( uid::p )
# 9518 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_369 =
  fun id ->
    (
# 842 "fstar-guts/FStarC_Parser_Parse.mly"
          ( [id] )
# 9526 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_370 =
  fun p uid ->
    (
# 843 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( uid::p )
# 9534 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_371 =
  fun _endpos_pat_ _startpos_pat_ e focus pat ->
    let when_opt = 
# 1204 "fstar-guts/FStarC_Parser_Parse.mly"
                         ( None )
# 9542 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    (
# 1195 "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))
      )
# 9554 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool *
  (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
   FStarC_Parser_AST.typ)))

let _menhir_action_372 =
  fun _endpos_pat_ _startpos_pat_ e e_inlined1 focus pat ->
    let when_opt =
      let e = e_inlined1 in
      
# 1205 "fstar-guts/FStarC_Parser_Parse.mly"
                         ( Some e )
# 9566 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    (
# 1195 "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))
      )
# 9579 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool *
  (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
   FStarC_Parser_AST.typ)))

let _menhir_action_373 =
  fun _endpos__5_ _startpos__1_ id t ->
    let _endpos = _endpos__5_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 759 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let r = rr _loc in
        let w = mk_pattern (PatVar (id, Some TypeClassArg, [])) r in
        let asc = (t, None) in
        [mk_pattern (PatAscribed(w, asc)) r]
      )
# 9596 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_374 =
  fun _endpos__3_ _startpos__1_ t ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 766 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let r = rr _loc in
        let id = gen r in
        let w = mk_pattern (PatVar (id, Some TypeClassArg, [])) r in
        let asc = (t, None) in
        [mk_pattern (PatAscribed(w, asc)) r]
      )
# 9612 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_375 =
  fun pat ->
    (
# 772 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( [pat] )
# 9620 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_376 =
  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
    (
# 774 "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
        List.map (fun ((aq, attrs), x) -> mkRefinedPattern (mk_pattern (PatVar (x, aq, attrs)) pos) t false r t_pos pos) qual_ids
      )
# 9637 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_377 =
  fun e m_eff n_eff p_eff ->
    let bind = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9645 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 618 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (m_eff, n_eff, p_eff, bind) )
# 9650 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name * FStarC_Syntax_Syntax.monad_name *
  FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ))

let _menhir_action_378 =
  fun e m_eff n_eff ->
    let subcomp = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9659 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 622 "fstar-guts/FStarC_Parser_Parse.mly"
    ( (m_eff, n_eff, subcomp) )
# 9664 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name * FStarC_Syntax_Syntax.monad_name *
  FStarC_Parser_AST.typ))

let _menhir_action_379 =
  fun () ->
    (
# 249 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ShowOptions )
# 9673 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_380 =
  fun s ->
    (
# 251 "fstar-guts/FStarC_Parser_Parse.mly"
      ( SetOptions s )
# 9681 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_381 =
  fun s_opt ->
    (
# 253 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ResetOptions s_opt )
# 9689 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_382 =
  fun s_opt ->
    (
# 255 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PushOptions s_opt )
# 9697 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_383 =
  fun () ->
    (
# 257 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PopOptions )
# 9705 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_384 =
  fun () ->
    (
# 259 "fstar-guts/FStarC_Parser_Parse.mly"
      ( RestartSolver )
# 9713 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_385 =
  fun () ->
    (
# 261 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PrintEffectsGraph )
# 9721 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_386 =
  fun () ->
    (
# 229 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9729 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_387 =
  fun () ->
    (
# 231 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9737 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_388 =
  fun () ->
    (
# 233 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9745 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_389 =
  fun () ->
    (
# 235 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9753 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_390 =
  fun () ->
    (
# 237 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9761 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_391 =
  fun () ->
    (
# 239 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9769 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_392 =
  fun () ->
    (
# 241 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9777 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_393 =
  fun e ->
    (
# 1510 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 9785 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_394 =
  fun e ->
    (
# 1512 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 9793 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_395 =
  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
    (
# 1514 "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)
      )
# 9815 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_396 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1562 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9823 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1528 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkListLit (rr2 _loc__1_ _loc__3_) es )
# 9830 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_397 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1562 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9838 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1530 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkSeqLit (rr2 _loc__1_ _loc__3_) es )
# 9845 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_398 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1562 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9853 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1532 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (LexList es) (rr2 _loc__1_ _loc__3_) Type_level )
# 9860 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_399 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ xs ->
    let es = 
# 241 "<standard.mly>"
    ( xs )
# 9868 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1534 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkRefSet (rr2 _loc__1_ _loc__3_) es )
# 9875 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_400 =
  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
    (
# 1536 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Projector (ns, id)) (rr2 _loc_ns_ _loc_id_) Expr )
# 9885 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_401 =
  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
    (
# 1538 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Discrim lid) (rr2 _loc_lid_ _loc__2_) Un )
# 9895 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_402 =
  fun _endpos_id_ _endpos_targs_opt_ _startpos_id_ _startpos_targs_opt_ id targs_opt ->
    let _loc_targs_opt_ = (_startpos_targs_opt_, _endpos_targs_opt_) in
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 1548 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = if is_name id then Name id else Var id in
        let e = mk_term t (rr _loc_id_) Un in
        match targs_opt with
        | None -> e
        | Some targs -> mkFsTypApp e targs (rr2 _loc_id_ _loc_targs_opt_)
      )
# 9911 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_403 =
  fun _endpos_id_ _endpos_targs_opt_ _startpos_id_ _startpos_targs_opt_ id targs_opt ->
    let _loc_targs_opt_ = (_startpos_targs_opt_, _endpos_targs_opt_) in
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 1548 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = if is_name id then Name id else Var id in
        let e = mk_term t (rr _loc_id_) Un in
        match targs_opt with
        | None -> e
        | Some targs -> mkFsTypApp e targs (rr2 _loc_id_ _loc_targs_opt_)
      )
# 9927 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_404 =
  fun ids ->
    (
# 835 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( lid_of_ids ids )
# 9935 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_405 =
  fun qid ->
    (
# 850 "fstar-guts/FStarC_Parser_Parse.mly"
                ( qid )
# 9943 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_406 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 9955 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9961 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_407 =
  fun op ->
    let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 9969 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9974 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_408 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 9986 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9992 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_409 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 10004 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10010 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_410 =
  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
        
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 10023 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10029 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10035 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_411 =
  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
        
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 10048 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10054 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10060 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_412 =
  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
        
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 10073 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10079 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10085 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_413 =
  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
        
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 10098 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10104 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 852 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10110 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_414 =
  fun () ->
    (
# 630 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Assumption )
# 10118 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_415 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 631 "fstar-guts/FStarC_Parser_Parse.mly"
                  (
    raise_error_text (rr _loc) Fatal_InlineRenamedAsUnfold
      "The 'inline' qualifier has been renamed to 'unfold'"
  )
# 10132 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_416 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 635 "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"
  )
# 10146 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_417 =
  fun () ->
    (
# 639 "fstar-guts/FStarC_Parser_Parse.mly"
                          (
     Inline_for_extraction
  )
# 10156 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_418 =
  fun () ->
    (
# 642 "fstar-guts/FStarC_Parser_Parse.mly"
           (
     Unfold_for_unification_and_vcgen
  )
# 10166 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_419 =
  fun () ->
    (
# 645 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Irreducible )
# 10174 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_420 =
  fun () ->
    (
# 646 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( NoExtract )
# 10182 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_421 =
  fun () ->
    (
# 647 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( DefaultEffect )
# 10190 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_422 =
  fun () ->
    (
# 648 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( TotalEffect )
# 10198 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_423 =
  fun () ->
    (
# 649 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Private )
# 10206 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_424 =
  fun () ->
    (
# 651 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Noeq )
# 10214 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_425 =
  fun () ->
    (
# 652 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Unopteq )
# 10222 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_426 =
  fun () ->
    (
# 653 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( New )
# 10230 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_427 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 654 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( log_issue_text (rr _loc) Warning_logicqualifier logic_qualifier_deprecation_warning;
                    Logic )
# 10242 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_428 =
  fun () ->
    (
# 656 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Opaque )
# 10250 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_429 =
  fun () ->
    (
# 657 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Reifiable )
# 10258 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_430 =
  fun () ->
    (
# 658 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Reflectable )
# 10266 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_431 =
  fun ids ->
    (
# 839 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( lid_of_ids ids )
# 10274 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name))

let _menhir_action_432 =
  fun i ->
    (
# 1666 "fstar-guts/FStarC_Parser_Parse.mly"
    ( format2 "%s..%s" (fst i) (fst i) )
# 10282 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string))

let _menhir_action_433 =
  fun r ->
    (
# 1668 "fstar-guts/FStarC_Parser_Parse.mly"
    ( r )
# 10290 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string))

let _menhir_action_434 =
  fun p ->
    (
# 385 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Pragma p )
# 10298 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_435 =
  fun r uid ->
    (
# 387 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Open (uid, r) )
# 10306 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_436 =
  fun uid ->
    (
# 389 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Friend uid )
# 10314 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_437 =
  fun r uid ->
    (
# 391 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Include (uid, r) )
# 10322 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_438 =
  fun uid ->
    (
# 393 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Open (uid, FStarC_Syntax_Syntax.AllowList []) )
# 10330 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_439 =
  fun uid1 uid2 ->
    (
# 395 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ModuleAbbrev(uid1, uid2) )
# 10338 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_440 =
  fun _endpos_q_ _startpos_q_ q ->
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    (
# 397 "fstar-guts/FStarC_Parser_Parse.mly"
      ( raise_error_text (rr _loc_q_) Fatal_SyntaxError "Syntax error: expected a module name" )
# 10347 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_441 =
  fun uid ->
    (
# 399 "fstar-guts/FStarC_Parser_Parse.mly"
      (  TopLevelModule uid )
# 10355 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_442 =
  fun tcdefs ->
    (
# 401 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Tycon (false, false, tcdefs) )
# 10363 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_443 =
  fun e tparams uid ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10372 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10377 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 403 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Tycon(true, false, [(TyconAbbrev(uid, tparams, None, t))]) )
# 10383 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_444 =
  fun _endpos_lbs_ _startpos__1_ lbs q ->
    let _endpos = _endpos_lbs_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 405 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let r = rr _loc in
        let lbs = focusLetBindings lbs r in
        if q <> Rec && List.length lbs <> 1
        then raise_error_text r Fatal_MultipleLetBinding "Unexpected multiple let-binding (Did you forget some rec qualifier ?)";
        TopLevelLet(q, lbs)
      )
# 10400 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_445 =
  fun _endpos_c_ _startpos__1_ c ->
    let _endpos = _endpos_c_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 413 "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"
      )
# 10414 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_446 =
  fun _endpos_bs_ _endpos_e_ _startpos_bs_ _startpos_e_ bs e id ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10423 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10428 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid = 
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 10435 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10447 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_447 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10456 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10461 "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
        
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10473 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10479 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10492 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_448 =
  fun _endpos_bs_ _endpos_e_ _startpos_bs_ _startpos_e_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10501 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10506 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 10514 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10519 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10532 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_449 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10541 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10546 "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
        
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10558 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10564 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10577 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_450 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10586 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10591 "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
        
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 10603 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10609 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10622 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_451 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10631 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10636 "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
          
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 10649 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10655 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10661 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10674 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_452 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10683 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10688 "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
          
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 10701 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10707 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10713 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10726 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_453 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10735 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10740 "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
          
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 10753 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10759 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10765 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10778 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_454 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10787 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10792 "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
          
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 10805 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10811 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10817 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 418 "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)
      )
# 10830 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_455 =
  fun t xs ->
    let ids = 
# 241 "<standard.mly>"
    ( xs )
# 10838 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 425 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Splice (false, ids, t) )
# 10843 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_456 =
  fun t xs ->
    let ids = 
# 241 "<standard.mly>"
    ( xs )
# 10851 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 427 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Splice (true, ids, t) )
# 10856 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_457 =
  fun lid t_opt ->
    (
# 429 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Exception(lid, t_opt) )
# 10864 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_458 =
  fun ne ->
    (
# 431 "fstar-guts/FStarC_Parser_Parse.mly"
      ( NewEffect ne )
# 10872 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_459 =
  fun ne ->
    (
# 433 "fstar-guts/FStarC_Parser_Parse.mly"
      ( LayeredEffect ne )
# 10880 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_460 =
  fun ne ->
    (
# 435 "fstar-guts/FStarC_Parser_Parse.mly"
      ( LayeredEffect ne )
# 10888 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_461 =
  fun se ->
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      ( SubEffect se )
# 10896 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_462 =
  fun b ->
    (
# 439 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Polymonadic_bind b )
# 10904 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_463 =
  fun c ->
    (
# 441 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Polymonadic_subcomp c )
# 10912 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

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

let _menhir_action_465 =
  fun _endpos_record_fields_ _startpos_record_fields_ record_fields ->
    let _loc_record_fields_ = (_startpos_record_fields_, _endpos_record_fields_) in
    (
# 1399 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Record (None, record_fields)) (rr _loc_record_fields_) Expr )
# 10940 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_466 =
  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
    (
# 1401 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Record (Some e, record_fields)) (rr2 _loc_e_ _loc_record_fields_) Expr )
# 10950 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_467 =
  fun e qualified_lid ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 10959 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 10964 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 484 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let (qual, attrs), lid = qualified_lid in
        (lid, qual, attrs, t)
      )
# 10973 "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_468 =
  fun phi_opt ->
    (
# 1391 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    (phi_opt)
# 10982 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_469 =
  fun xs ->
    let ids = 
# 241 "<standard.mly>"
    ( xs )
# 10990 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 380 "fstar-guts/FStarC_Parser_Parse.mly"
      ( FStarC_Syntax_Syntax.AllowList ids )
# 10995 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.restriction))

let _menhir_action_470 =
  fun () ->
    (
# 381 "fstar-guts/FStarC_Parser_Parse.mly"
      ( FStarC_Syntax_Syntax.Unrestricted  )
# 11003 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.restriction))

let _menhir_action_471 =
  fun () ->
    (
# 1726 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [] )
# 11011 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_472 =
  fun pb ->
    let x = 
# 1002 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                             (pb)
# 11022 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1728 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 11027 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_473 =
  fun pb xs ->
    let x = 
# 1002 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                             (pb)
# 11038 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1730 "fstar-guts/FStarC_Parser_Parse.mly"
   ( x :: xs )
# 11043 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_474 =
  fun x ->
    let _1 = 
# 123 "<standard.mly>"
    ( None )
# 11054 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 11059 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_475 =
  fun x x_inlined1 ->
    let _1 =
      let x = x_inlined1 in
      
# 126 "<standard.mly>"
    ( Some x )
# 11072 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 11078 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_476 =
  fun x xs ->
    (
# 1740 "fstar-guts/FStarC_Parser_Parse.mly"
   ( x :: xs )
# 11089 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ option *
    FStarC_Parser_AST.typ))
  list))

let _menhir_action_477 =
  fun () ->
    (
# 1716 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11100 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.pattern) list))

let _menhir_action_478 =
  fun x ->
    (
# 1717 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11108 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.pattern) list))

let _menhir_action_479 =
  fun x xs ->
    (
# 1718 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11116 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.pattern) list))

let _menhir_action_480 =
  fun () ->
    (
# 1716 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11124 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_481 =
  fun x ->
    (
# 1717 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11132 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_482 =
  fun x xs ->
    (
# 1718 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11140 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_483 =
  fun () ->
    (
# 1716 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11148 "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_484 =
  fun x ->
    (
# 1717 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11158 "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_485 =
  fun x xs ->
    (
# 1718 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11168 "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_486 =
  fun () ->
    (
# 1716 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11178 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ) list))

let _menhir_action_487 =
  fun x ->
    (
# 1717 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11186 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ) list))

let _menhir_action_488 =
  fun x xs ->
    (
# 1718 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11194 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ) list))

let _menhir_action_489 =
  fun x ->
    (
# 1721 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11202 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon_record))

let _menhir_action_490 =
  fun x xs ->
    (
# 1722 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11210 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon_record))

let _menhir_action_491 =
  fun x ->
    (
# 1721 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11218 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ) list))

let _menhir_action_492 =
  fun x xs ->
    (
# 1722 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11226 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ) list))

let _menhir_action_493 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11234 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)) list))

let _menhir_action_494 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11242 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)) list))

let _menhir_action_495 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11250 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon list))

let _menhir_action_496 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11258 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon list))

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

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

let _menhir_action_499 =
  fun id renamed ->
    let x =
      let id = 
# 861 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 11283 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11288 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11294 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_500 =
  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
          
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11308 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11314 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11320 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11326 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_501 =
  fun op renamed ->
    let x =
      let id =
        let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 11336 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11341 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11347 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11353 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_502 =
  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
          
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11367 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11373 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11379 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11385 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_503 =
  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
          
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 11399 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11405 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11411 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11417 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_504 =
  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
            
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 11432 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11438 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11444 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11450 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11456 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_505 =
  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
            
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 11471 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11477 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11483 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11489 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11495 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_506 =
  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
            
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 11510 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11516 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11522 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11528 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11534 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_507 =
  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
            
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 11549 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11555 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11561 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11567 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11573 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_508 =
  fun id renamed xs ->
    let x =
      let id = 
# 861 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 11582 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11587 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11593 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_509 =
  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
          
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11607 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11613 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11619 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11625 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_510 =
  fun op renamed xs ->
    let x =
      let id =
        let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 11635 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11640 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11646 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11652 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_511 =
  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
          
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11666 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11672 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11678 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11684 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_512 =
  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
          
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 11698 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11704 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11710 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11716 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_513 =
  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
            
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 11731 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11737 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11743 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11749 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11755 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_514 =
  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
            
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 11770 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11776 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11782 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11788 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11794 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_515 =
  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
            
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 11809 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11815 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11821 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11827 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11833 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_516 =
  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
            
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 11848 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11854 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 863 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11860 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 379 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                    ((id, renamed))
# 11866 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11872 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

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

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

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

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

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

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

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

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

let _menhir_action_525 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11944 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_526 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11952 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

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

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

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

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

let _menhir_action_531 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11992 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

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

let _menhir_action_533 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 12008 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_534 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 12016 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

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

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

let _menhir_action_537 =
  fun _endpos_dom_ _endpos_tgt_ _startpos_dom_ _startpos_tgt_ dom tgt ->
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1236 "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
     )
# 12049 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_538 =
  fun e ->
    (
# 1244 "fstar-guts/FStarC_Parser_Parse.mly"
                       ( e )
# 12057 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_539 =
  fun t ->
    (
# 1247 "fstar-guts/FStarC_Parser_Parse.mly"
                                             ( ((Some TypeClassArg, []), t) )
# 12065 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_540 =
  fun dom_tm ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12074 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12079 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1248 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12084 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_541 =
  fun dom_tm x ->
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12093 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12098 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1248 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12103 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_542 =
  fun dom_tm x ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12112 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12117 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1248 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12122 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_543 =
  fun dom_tm x x_inlined1 ->
    let attrs_opt =
      let x = x_inlined1 in
      
# 126 "<standard.mly>"
    ( Some x )
# 12133 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12139 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1248 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12144 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_544 =
  fun x y ->
    let e = 
# 180 "<standard.mly>"
    ( (x, y) )
# 12153 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1404 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( e )
# 12158 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ))

let _menhir_action_545 =
  fun _endpos_lid_ _startpos_lid_ lid ->
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    (
# 1405 "fstar-guts/FStarC_Parser_Parse.mly"
                          ( lid, mk_term (Name (lid_of_ids [ ident_of_lid lid ])) (rr _loc_lid_) Un )
# 12167 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.monad_name * FStarC_Parser_AST.typ))

let _menhir_action_546 =
  fun _endpos_bs_ _startpos_bs_ bs ->
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 1134 "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"
    )
# 12180 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder))

let _menhir_action_547 =
  fun x ->
    (
# 1713 "fstar-guts/FStarC_Parser_Parse.mly"
        ( Some x )
# 12188 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list option))

let _menhir_action_548 =
  fun () ->
    (
# 201 "fstar-guts/FStarC_Parser_Parse.mly"
          ( None )
# 12196 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_549 =
  fun () ->
    (
# 202 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( None )
# 12204 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_550 =
  fun () ->
    (
# 203 "fstar-guts/FStarC_Parser_Parse.mly"
             ( None )
# 12212 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_551 =
  fun () ->
    (
# 204 "fstar-guts/FStarC_Parser_Parse.mly"
                ( None )
# 12220 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_552 =
  fun () ->
    (
# 205 "fstar-guts/FStarC_Parser_Parse.mly"
             ( None )
# 12228 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_553 =
  fun () ->
    (
# 206 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12236 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_554 =
  fun () ->
    (
# 207 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12244 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_555 =
  fun () ->
    (
# 208 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12252 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_556 =
  fun () ->
    (
# 209 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12260 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_557 =
  fun () ->
    (
# 210 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12268 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_558 =
  fun () ->
    (
# 211 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12276 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_559 =
  fun () ->
    (
# 212 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12284 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_560 =
  fun () ->
    (
# 213 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12292 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_561 =
  fun () ->
    (
# 214 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 12300 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_562 =
  fun () ->
    (
# 215 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 12308 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_563 =
  fun () ->
    (
# 216 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12316 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_564 =
  fun () ->
    (
# 217 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12324 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_565 =
  fun () ->
    (
# 218 "fstar-guts/FStarC_Parser_Parse.mly"
              ( None )
# 12332 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_566 =
  fun () ->
    (
# 219 "fstar-guts/FStarC_Parser_Parse.mly"
               ( None )
# 12340 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_567 =
  fun () ->
    (
# 220 "fstar-guts/FStarC_Parser_Parse.mly"
                   ( None )
# 12348 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_568 =
  fun () ->
    (
# 221 "fstar-guts/FStarC_Parser_Parse.mly"
              ( None )
# 12356 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_569 =
  fun () ->
    (
# 222 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( None )
# 12364 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_570 =
  fun () ->
    (
# 223 "fstar-guts/FStarC_Parser_Parse.mly"
                        ( None )
# 12372 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_571 =
  fun b ->
    (
# 224 "fstar-guts/FStarC_Parser_Parse.mly"
          ( let _, _, _, snap = b in Some snap )
# 12380 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_572 =
  fun b ->
    (
# 225 "fstar-guts/FStarC_Parser_Parse.mly"
                   ( let _, _, _, snap = b in Some snap )
# 12388 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_573 =
  fun s ->
    (
# 1676 "fstar-guts/FStarC_Parser_Parse.mly"
             ( s )
# 12396 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string))

let _menhir_action_574 =
  fun e src_eff tgt_eff ->
    let lift = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12404 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 588 "fstar-guts/FStarC_Parser_Parse.mly"
      ( { msource = src_eff; mdest = tgt_eff; lift_op = NonReifiableLift lift; braced=false } )
# 12409 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_575 =
  fun _endpos__7_ _startpos_src_eff_ e src_eff tgt_eff x ->
    let lift2_opt = 
# 123 "<standard.mly>"
    ( None )
# 12417 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let lift1 =
      let y = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12423 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 180 "<standard.mly>"
    ( (x, y) )
# 12428 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__7_ in
    let _startpos = _startpos_src_eff_ in
    let _loc = (_startpos, _endpos) in
    (
# 595 "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 }
     )
# 12456 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_576 =
  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 = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12467 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        let x = 
# 592 "fstar-guts/FStarC_Parser_Parse.mly"
                                                          (id)
# 12472 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 180 "<standard.mly>"
    ( (x, y) )
# 12477 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 126 "<standard.mly>"
    ( Some x )
# 12483 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let lift1 =
      let y = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12490 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 180 "<standard.mly>"
    ( (x, y) )
# 12495 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__7_ in
    let _startpos = _startpos_src_eff_ in
    let _loc = (_startpos, _endpos) in
    (
# 595 "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 }
     )
# 12523 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_577 =
  fun e ->
    (
# 915 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 12531 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_578 =
  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
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Seq(e1, e2)) (rr2 _loc_e1_ _loc_e2_) Expr )
# 12541 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_579 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _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_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    let _loc = (_startpos, _endpos) in
    (
# 923 "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   ->
             log_issue_text (rr _loc) Warning_DeprecatedLightDoNotation do_notation_deprecation_warning;
	     Bind(gen (rr _loc_op_), e1, e2)
        in mk_term t (rr2 _loc_e1_ _loc_e2_) Expr
      )
# 12564 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_580 =
  fun _endpos_e2_ _endpos_x_ _startpos_e2_ _startpos_x_ e1 e2 x ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_x_ in
    let _loc_x_ = (_startpos_x_, _endpos_x_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc = (_startpos, _endpos) in
    (
# 934 "fstar-guts/FStarC_Parser_Parse.mly"
    ( log_issue_text (rr _loc) Warning_DeprecatedLightDoNotation do_notation_deprecation_warning;
      mk_term (Bind(x, e1, e2)) (rr2 _loc_x_ _loc_e2_) Expr )
# 12578 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_581 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 893 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12589 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_582 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 893 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12600 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_583 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 893 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12611 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_584 =
  fun _endpos_e_ _startpos_e_ e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12620 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 12625 "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
    (
# 893 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12635 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_585 =
  fun _endpos_e_ _startpos_e_ e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12644 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 12649 "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
    (
# 897 "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 )
# 12661 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_586 =
  fun _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt ->
    let dom = 
# 1252 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( ((Some TypeClassArg, []), t) )
# 12669 "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
    (
# 1224 "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
     )
# 12684 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_587 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12693 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1253 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12698 "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
    (
# 1224 "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
     )
# 12714 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_588 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12723 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1253 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12728 "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
    (
# 1224 "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
     )
# 12744 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_589 =
  fun _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt ->
    let dom = 
# 1254 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( (None, attrs), dom_tm )
# 12752 "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
    (
# 1224 "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
     )
# 12767 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_590 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12776 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12781 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12786 "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
    (
# 1224 "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
     )
# 12802 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_591 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12811 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12816 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12821 "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
    (
# 1224 "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
     )
# 12837 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_592 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12846 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12851 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12856 "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
    (
# 1224 "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
     )
# 12872 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_593 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x x_inlined1 ->
    let dom =
      let attrs_opt =
        let x = x_inlined1 in
        
# 126 "<standard.mly>"
    ( Some x )
# 12883 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12889 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12894 "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
    (
# 1224 "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
     )
# 12910 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_594 =
  fun e ->
    (
# 1232 "fstar-guts/FStarC_Parser_Parse.mly"
         ( e )
# 12918 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_595 =
  fun _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt ->
    let dom = 
# 1252 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( ((Some TypeClassArg, []), t) )
# 12926 "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
    (
# 1224 "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
     )
# 12941 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_596 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12950 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1253 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12955 "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
    (
# 1224 "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
     )
# 12971 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_597 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12980 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1253 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12985 "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
    (
# 1224 "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
     )
# 13001 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_598 =
  fun _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt ->
    let dom = 
# 1254 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( (None, attrs), dom_tm )
# 13009 "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
    (
# 1224 "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
     )
# 13024 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_599 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 13033 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 13038 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 13043 "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
    (
# 1224 "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
     )
# 13059 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_600 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 13068 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 13073 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 13078 "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
    (
# 1224 "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
     )
# 13094 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_601 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 13103 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 13108 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 13113 "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
    (
# 1224 "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
     )
# 13129 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_602 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x x_inlined1 ->
    let dom =
      let attrs_opt =
        let x = x_inlined1 in
        
# 126 "<standard.mly>"
    ( Some x )
# 13140 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 13146 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1255 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 13151 "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
    (
# 1224 "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
     )
# 13167 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_603 =
  fun e ->
    (
# 1232 "fstar-guts/FStarC_Parser_Parse.mly"
         ( e )
# 13175 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_604 =
  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
    (
# 1264 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("/\\", rr _loc_tok_), [e1;e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13186 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_605 =
  fun e ->
    (
# 1265 "fstar-guts/FStarC_Parser_Parse.mly"
              ( e )
# 13194 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_606 =
  fun e ->
    (
# 1375 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 13202 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_607 =
  fun e ->
    (
# 1372 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( e )
# 13210 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_608 =
  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
    (
# 1280 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13222 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_609 =
  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
    (
# 1284 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(":=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13234 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_610 =
  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
    (
# 1287 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<|", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13246 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_611 =
  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
    (
# 1290 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("|>", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13258 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_612 =
  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
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13270 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13278 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_613 =
  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
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13290 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13298 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_614 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13310 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13318 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_615 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13330 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13338 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_616 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13350 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13358 "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
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13370 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13378 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_618 =
  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
    (
# 1296 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("-", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13390 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_619 =
  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
    (
# 1298 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_uminus e (rr _loc_tok_) (rr _loc) Expr )
# 13402 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_620 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Dynamic)) (rr _loc) Un )
# 13413 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_621 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1302 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Static)) (rr _loc) Un )
# 13424 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_622 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1304 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let q = mk_term (Quote (e, Dynamic)) (rr _loc) Un in
        mk_term (Antiquote q) (rr _loc) Un )
# 13436 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_623 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1307 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Antiquote e) (rr _loc) Un )
# 13447 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_624 =
  fun e ->
    (
# 1309 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13455 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_625 =
  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
    (
# 1280 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13467 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_626 =
  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
    (
# 1284 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(":=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13479 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_627 =
  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
    (
# 1287 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<|", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13491 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_628 =
  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
    (
# 1290 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("|>", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13503 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_629 =
  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
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13515 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13523 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_630 =
  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
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13535 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13543 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_631 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13555 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13563 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_632 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13575 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13583 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_633 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13595 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13603 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_634 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13615 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1294 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13623 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_635 =
  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
    (
# 1296 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("-", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13635 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_636 =
  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
    (
# 1298 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_uminus e (rr _loc_tok_) (rr _loc) Expr )
# 13647 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_637 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1300 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Dynamic)) (rr _loc) Un )
# 13658 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_638 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1302 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Static)) (rr _loc) Un )
# 13669 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_639 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1304 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let q = mk_term (Quote (e, Dynamic)) (rr _loc) Un in
        mk_term (Antiquote q) (rr _loc) Un )
# 13681 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_640 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1307 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Antiquote e) (rr _loc) Un )
# 13692 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_641 =
  fun e ->
    (
# 1309 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13700 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_642 =
  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
    (
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("\\/", rr _loc_tok_), [e1;e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13711 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_643 =
  fun e ->
    (
# 1260 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( e )
# 13719 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_644 =
  fun _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok ->
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1211 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<==>", rr _loc_tok_), [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13730 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_645 =
  fun e ->
    (
# 1212 "fstar-guts/FStarC_Parser_Parse.mly"
                ( e )
# 13738 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_646 =
  fun _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok ->
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1216 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("==>", rr _loc_tok_), [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13749 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_647 =
  fun e ->
    (
# 1218 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13757 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_648 =
  fun e ->
    (
# 1378 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( e )
# 13765 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_649 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1317 "fstar-guts/FStarC_Parser_Parse.mly"
      ( consTerm (rr _loc) e1 e2 )
# 13776 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_650 =
  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
    (
# 1319 "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
      )
# 13802 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_651 =
  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
    (
# 1337 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13814 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_652 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1339 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp op [ e1, Infix; e2, Nothing ] (rr _loc) )
# 13825 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_653 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1341 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13837 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_654 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1343 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (VQuote e) (rr _loc) Un )
# 13848 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_655 =
  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
    (
# 1345 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident (op, rr _loc_op_), [e])) (rr _loc) Formula )
# 13860 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_656 =
  fun e ->
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
        ( e )
# 13868 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_657 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1317 "fstar-guts/FStarC_Parser_Parse.mly"
      ( consTerm (rr _loc) e1 e2 )
# 13879 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_658 =
  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
    (
# 1319 "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
      )
# 13905 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_659 =
  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
    (
# 1337 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13917 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_660 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1339 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp op [ e1, Infix; e2, Nothing ] (rr _loc) )
# 13928 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_661 =
  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
    (
# 1341 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13940 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_662 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1343 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (VQuote e) (rr _loc) Un )
# 13951 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_663 =
  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
    (
# 1345 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident (op, rr _loc_op_), [e])) (rr _loc) Formula )
# 13963 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_664 =
  fun e ->
    (
# 1346 "fstar-guts/FStarC_Parser_Parse.mly"
        ( e )
# 13971 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_665 =
  fun e ->
    (
# 1349 "fstar-guts/FStarC_Parser_Parse.mly"
                            ( e )
# 13979 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_666 =
  fun e ->
    let e = 
# 1312 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 13987 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1350 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( e )
# 13992 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_667 =
  fun e ->
    (
# 1349 "fstar-guts/FStarC_Parser_Parse.mly"
                            ( e )
# 14000 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_668 =
  fun e ->
    let e = 
# 1312 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 14008 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1350 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( e )
# 14013 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_669 =
  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
    (
# 1382 "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
      )
# 14029 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_670 =
  fun e ->
    (
# 1388 "fstar-guts/FStarC_Parser_Parse.mly"
               ( e )
# 14037 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_671 =
  fun _endpos_el_ _startpos_el_ el ->
    let _loc_el_ = (_startpos_el_, _endpos_el_) in
    (
# 1269 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match el with
          | [x] -> x
          | components -> mkTuple components (rr2 _loc_el_ _loc_el_)
      )
# 14050 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_672 =
  fun x ->
    (
# 1458 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 14058 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_673 =
  fun x ->
    (
# 1460 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 14066 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_674 =
  fun () ->
    (
# 1177 "fstar-guts/FStarC_Parser_Parse.mly"
      ( [] )
# 14074 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_675 =
  fun pats ->
    (
# 1178 "fstar-guts/FStarC_Parser_Parse.mly"
                                                     ( pats )
# 14082 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_676 =
  fun _endpos_pats_ _startpos_pats_ pats ->
    let _endpos = _endpos_pats_ in
    let _startpos = _startpos_pats_ in
    let _loc = (_startpos, _endpos) in
    (
# 691 "fstar-guts/FStarC_Parser_Parse.mly"
      ( match pats with | [x] -> x | l -> mk_pattern (PatTuple (l, false)) (rr _loc) )
# 14093 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_677 =
  fun _endpos_tv_ _startpos_tv_ tv ->
    let _loc_tv_ = (_startpos_tv_, _endpos_tv_) in
    (
# 886 "fstar-guts/FStarC_Parser_Parse.mly"
            ( mk_ident(tv, rr _loc_tv_) )
# 14102 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_678 =
  fun tvs ->
    (
# 465 "fstar-guts/FStarC_Parser_Parse.mly"
      ( map (fun tv -> mk_binder (TVariable(tv)) (range_of_id tv) Kind None) tvs )
# 14110 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_679 =
  fun x ->
    (
# 460 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( x )
# 14118 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_680 =
  fun x ->
    (
# 461 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( x )
# 14126 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_681 =
  fun ascr_opt lid tcdef tparams ->
    (
# 457 "fstar-guts/FStarC_Parser_Parse.mly"
      ( tcdef lid tparams ascr_opt )
# 14134 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon))

let _menhir_action_682 =
  fun () ->
    (
# 472 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconAbstract(id, binders, kopt)) )
# 14142 "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_683 =
  fun e ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14153 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14158 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 474 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt ->  check_id id; TyconAbbrev(id, binders, kopt, t)) )
# 14164 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_684 =
  fun record_field_decls ->
    let record_field_decls = 
# 469 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 14174 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 14179 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 477 "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)) )
# 14184 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_685 =
  fun record_field_decls x ->
    let record_field_decls = 
# 469 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 14194 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 14199 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 477 "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)) )
# 14204 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_686 =
  fun ct_decls ->
    (
# 480 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconVariant(id, binders, kopt, ct_decls)) )
# 14214 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_687 =
  fun tcdef ->
    (
# 340 "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, [])
      )
# 14232 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_688 =
  fun _endpos_lb_ _startpos__1_ lb q ->
    let _endpos = _endpos_lb_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 351 "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])
      )
# 14253 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_689 =
  fun _endpos_bs_ _endpos_e_ _startpos__1_ _startpos_bs_ _startpos_e_ bs e id ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14262 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14267 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid = 
# 856 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 14274 "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
    (
# 364 "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])
      )
# 14296 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_690 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14305 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14310 "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
        
# 1679 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 14322 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14328 "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
    (
# 364 "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])
      )
# 14351 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_691 =
  fun _endpos_bs_ _endpos_e_ _startpos__1_ _startpos_bs_ _startpos_e_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14360 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14365 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_t_, _startpos_t_) = (_endpos_e_, _startpos_e_) in
    let lid =
      let id = 
# 1680 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 14373 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14378 "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
    (
# 364 "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])
      )
# 14401 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_692 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14410 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14415 "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
        
# 1681 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 14427 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14433 "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
    (
# 364 "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])
      )
# 14456 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_693 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14465 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14470 "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
        
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 14482 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14488 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 364 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14511 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_694 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14520 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14525 "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
          
# 1692 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 14538 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1683 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 14544 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14550 "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
    (
# 364 "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])
      )
# 14573 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_695 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14582 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14587 "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
          
# 1694 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 14600 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 14606 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14612 "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
    (
# 364 "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])
      )
# 14635 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_696 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14644 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14649 "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
          
# 1688 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 14662 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 14668 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14674 "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
    (
# 364 "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])
      )
# 14697 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_697 =
  fun _endpos_bs_ _endpos_e_ _endpos_op_ _startpos__1_ _startpos_bs_ _startpos_e_ _startpos_op_ bs e op ->
    let t =
      let t = 
# 1187 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 14706 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1158 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 14711 "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
          
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 14724 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1685 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 14730 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 858 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14736 "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
    (
# 364 "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])
      )
# 14759 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

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

let _menhir_action_699 =
  fun ua ->
    (
# 1613 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( (UnivApp, ua) )
# 14776 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.imp * FStarC_Parser_AST.typ))

let _menhir_action_700 =
  fun ua ->
    (
# 1616 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( ua )
# 14784 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_701 =
  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
    (
# 1618 "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
       )
# 14800 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_702 =
  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
    (
# 1625 "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)
      )
# 14819 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_703 =
  fun f r ->
    (
# 1652 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [(f, r)] )
# 14827 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Errors_Codes.error_flag * string) list))

let _menhir_action_704 =
  fun e f r ->
    (
# 1654 "fstar-guts/FStarC_Parser_Parse.mly"
    ( (f, r) :: e )
# 14835 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Errors_Codes.error_flag * string) list))

let _menhir_action_705 =
  fun e ->
    (
# 1648 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( e )
# 14843 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Errors_Codes.error_flag * string) list))

let _menhir_print_token : token -> string =
  fun _tok ->
    match _tok with
    | AMP ->
        "AMP"
    | AND ->
        "AND"
    | AND_OP _ ->
        "AND_OP"
    | AS ->
        "AS"
    | ASSERT ->
        "ASSERT"
    | ASSUME ->
        "ASSUME"
    | ATTRIBUTES ->
        "ATTRIBUTES"
    | BACKTICK ->
        "BACKTICK"
    | BACKTICK_AT ->
        "BACKTICK_AT"
    | BACKTICK_HASH ->
        "BACKTICK_HASH"
    | BACKTICK_PERC ->
        "BACKTICK_PERC"
    | BANG_LBRACE ->
        "BANG_LBRACE"
    | BAR ->
        "BAR"
    | BAR_RBRACE ->
        "BAR_RBRACE"
    | BAR_RBRACK ->
        "BAR_RBRACK"
    | BEGIN ->
        "BEGIN"
    | BLOB _ ->
        "BLOB"
    | BY ->
        "BY"
    | CALC ->
        "CALC"
    | CHAR _ ->
        "CHAR"
    | CLASS ->
        "CLASS"
    | COLON ->
        "COLON"
    | COLON_COLON ->
        "COLON_COLON"
    | COLON_EQUALS ->
        "COLON_EQUALS"
    | COMMA ->
        "COMMA"
    | CONJUNCTION ->
        "CONJUNCTION"
    | DECREASES ->
        "DECREASES"
    | DEFAULT ->
        "DEFAULT"
    | DISJUNCTION ->
        "DISJUNCTION"
    | DOLLAR ->
        "DOLLAR"
    | DOT ->
        "DOT"
    | DOT_LBRACK ->
        "DOT_LBRACK"
    | DOT_LBRACK_BAR ->
        "DOT_LBRACK_BAR"
    | DOT_LENS_PAREN_LEFT ->
        "DOT_LENS_PAREN_LEFT"
    | DOT_LPAREN ->
        "DOT_LPAREN"
    | EFFECT ->
        "EFFECT"
    | ELIM ->
        "ELIM"
    | ELSE ->
        "ELSE"
    | END ->
        "END"
    | ENSURES ->
        "ENSURES"
    | EOF ->
        "EOF"
    | EQUALS ->
        "EQUALS"
    | EQUALTYPE ->
        "EQUALTYPE"
    | EXCEPTION ->
        "EXCEPTION"
    | EXISTS _ ->
        "EXISTS"
    | EXISTS_OP _ ->
        "EXISTS_OP"
    | FALSE ->
        "FALSE"
    | FORALL _ ->
        "FORALL"
    | FORALL_OP _ ->
        "FORALL_OP"
    | FRIEND ->
        "FRIEND"
    | FUN ->
        "FUN"
    | FUNCTION ->
        "FUNCTION"
    | HASH ->
        "HASH"
    | IDENT _ ->
        "IDENT"
    | IF ->
        "IF"
    | IFF ->
        "IFF"
    | IF_OP _ ->
        "IF_OP"
    | IMPLIES ->
        "IMPLIES"
    | IN ->
        "IN"
    | INCLUDE ->
        "INCLUDE"
    | INLINE ->
        "INLINE"
    | INLINE_FOR_EXTRACTION ->
        "INLINE_FOR_EXTRACTION"
    | INSTANCE ->
        "INSTANCE"
    | INT _ ->
        "INT"
    | INT16 _ ->
        "INT16"
    | INT32 _ ->
        "INT32"
    | INT64 _ ->
        "INT64"
    | INT8 _ ->
        "INT8"
    | INTRO ->
        "INTRO"
    | IRREDUCIBLE ->
        "IRREDUCIBLE"
    | LARROW ->
        "LARROW"
    | LAYERED_EFFECT ->
        "LAYERED_EFFECT"
    | LBRACE ->
        "LBRACE"
    | LBRACE_BAR ->
        "LBRACE_BAR"
    | LBRACE_COLON_PATTERN ->
        "LBRACE_COLON_PATTERN"
    | LBRACE_COLON_WELL_FOUNDED ->
        "LBRACE_COLON_WELL_FOUNDED"
    | LBRACK ->
        "LBRACK"
    | LBRACK_AT ->
        "LBRACK_AT"
    | LBRACK_AT_AT ->
        "LBRACK_AT_AT"
    | LBRACK_AT_AT_AT ->
        "LBRACK_AT_AT_AT"
    | LBRACK_BAR ->
        "LBRACK_BAR"
    | LENS_PAREN_LEFT ->
        "LENS_PAREN_LEFT"
    | LENS_PAREN_RIGHT ->
        "LENS_PAREN_RIGHT"
    | LET _ ->
        "LET"
    | LET_OP _ ->
        "LET_OP"
    | LOGIC ->
        "LOGIC"
    | LONG_LEFT_ARROW ->
        "LONG_LEFT_ARROW"
    | LPAREN ->
        "LPAREN"
    | LPAREN_RPAREN ->
        "LPAREN_RPAREN"
    | MATCH ->
        "MATCH"
    | MATCH_OP _ ->
        "MATCH_OP"
    | MINUS ->
        "MINUS"
    | MODULE ->
        "MODULE"
    | NAME _ ->
        "NAME"
    | NEW ->
        "NEW"
    | NEW_EFFECT ->
        "NEW_EFFECT"
    | NOEQUALITY ->
        "NOEQUALITY"
    | NOEXTRACT ->
        "NOEXTRACT"
    | OF ->
        "OF"
    | OPAQUE ->
        "OPAQUE"
    | OPEN ->
        "OPEN"
    | OPINFIX0a _ ->
        "OPINFIX0a"
    | OPINFIX0b _ ->
        "OPINFIX0b"
    | OPINFIX0c _ ->
        "OPINFIX0c"
    | OPINFIX0d _ ->
        "OPINFIX0d"
    | OPINFIX1 _ ->
        "OPINFIX1"
    | OPINFIX2 _ ->
        "OPINFIX2"
    | OPINFIX3 _ ->
        "OPINFIX3"
    | OPINFIX4 _ ->
        "OPINFIX4"
    | OPPREFIX _ ->
        "OPPREFIX"
    | OP_MIXFIX_ACCESS _ ->
        "OP_MIXFIX_ACCESS"
    | OP_MIXFIX_ASSIGNMENT _ ->
        "OP_MIXFIX_ASSIGNMENT"
    | PERCENT_LBRACK ->
        "PERCENT_LBRACK"
    | PIPE_LEFT ->
        "PIPE_LEFT"
    | PIPE_RIGHT ->
        "PIPE_RIGHT"
    | POLYMONADIC_BIND ->
        "POLYMONADIC_BIND"
    | POLYMONADIC_SUBCOMP ->
        "POLYMONADIC_SUBCOMP"
    | PRAGMA_POP_OPTIONS ->
        "PRAGMA_POP_OPTIONS"
    | PRAGMA_PRINT_EFFECTS_GRAPH ->
        "PRAGMA_PRINT_EFFECTS_GRAPH"
    | PRAGMA_PUSH_OPTIONS ->
        "PRAGMA_PUSH_OPTIONS"
    | PRAGMA_RESET_OPTIONS ->
        "PRAGMA_RESET_OPTIONS"
    | PRAGMA_RESTART_SOLVER ->
        "PRAGMA_RESTART_SOLVER"
    | PRAGMA_SET_OPTIONS ->
        "PRAGMA_SET_OPTIONS"
    | PRAGMA_SHOW_OPTIONS ->
        "PRAGMA_SHOW_OPTIONS"
    | PRIVATE ->
        "PRIVATE"
    | QMARK ->
        "QMARK"
    | QMARK_DOT ->
        "QMARK_DOT"
    | QUOTE ->
        "QUOTE"
    | RANGE _ ->
        "RANGE"
    | RANGE_OF ->
        "RANGE_OF"
    | RARROW ->
        "RARROW"
    | RBRACE ->
        "RBRACE"
    | RBRACK ->
        "RBRACK"
    | REAL _ ->
        "REAL"
    | REC ->
        "REC"
    | REFLECTABLE ->
        "REFLECTABLE"
    | REIFIABLE ->
        "REIFIABLE"
    | REIFY ->
        "REIFY"
    | REQUIRES ->
        "REQUIRES"
    | RETURNS ->
        "RETURNS"
    | RETURNS_EQ ->
        "RETURNS_EQ"
    | RPAREN ->
        "RPAREN"
    | SEMICOLON ->
        "SEMICOLON"
    | SEMICOLON_OP _ ->
        "SEMICOLON_OP"
    | SEQ_BANG_LBRACK ->
        "SEQ_BANG_LBRACK"
    | SET_RANGE_OF ->
        "SET_RANGE_OF"
    | SIZET _ ->
        "SIZET"
    | SPLICE ->
        "SPLICE"
    | SPLICET ->
        "SPLICET"
    | SQUIGGLY_RARROW ->
        "SQUIGGLY_RARROW"
    | STRING _ ->
        "STRING"
    | SUBKIND ->
        "SUBKIND"
    | SUBTYPE ->
        "SUBTYPE"
    | SUB_EFFECT ->
        "SUB_EFFECT"
    | SYNTH ->
        "SYNTH"
    | THEN ->
        "THEN"
    | TILDE _ ->
        "TILDE"
    | TOTAL ->
        "TOTAL"
    | TRUE ->
        "TRUE"
    | TRY ->
        "TRY"
    | TVAR _ ->
        "TVAR"
    | TYPE ->
        "TYPE"
    | TYP_APP_GREATER ->
        "TYP_APP_GREATER"
    | TYP_APP_LESS ->
        "TYP_APP_LESS"
    | UINT16 _ ->
        "UINT16"
    | UINT32 _ ->
        "UINT32"
    | UINT64 _ ->
        "UINT64"
    | UINT8 _ ->
        "UINT8"
    | UNDERSCORE ->
        "UNDERSCORE"
    | UNFOLD ->
        "UNFOLD"
    | UNFOLDABLE ->
        "UNFOLDABLE"
    | UNIV_HASH ->
        "UNIV_HASH"
    | UNOPTEQUALITY ->
        "UNOPTEQUALITY"
    | USE_LANG_BLOB _ ->
        "USE_LANG_BLOB"
    | VAL ->
        "VAL"
    | WHEN ->
        "WHEN"
    | WITH ->
        "WITH"

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_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_192 d snap in
      let ds = _v in
      let _v = _menhir_action_319 ds in
      _menhir_goto_oneDeclOrEOF _menhir_stack _v
  
  let _menhir_run_1514 : type  ttv_stack. (ttv_stack, _menhir_box_oneDeclOrEOF) _menhir_cell1_decl -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack ->
      let _v = _menhir_action_552 () in
      _menhir_goto_startOfNextDeclToken _menhir_stack _v
  
  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_549 () in
      _menhir_goto_startOfNextDeclToken _menhir_stack _v
  
  let _menhir_run_1465 : 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_562 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | USE_LANG_BLOB _v_1 ->
          let b = _v_1 in
          let _v = _menhir_action_572 b in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | UNOPTEQUALITY ->
          let _ = _menhir_action_425 () in
          _menhir_run_1514 _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_416 _endpos__1_ _startpos__1_
          in
          _menhir_run_1514 _menhir_stack
      | UNFOLD ->
          let _ = _menhir_action_418 () in
          _menhir_run_1514 _menhir_stack
      | TYPE ->
          let _v = _menhir_action_559 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | TOTAL ->
          let _ = _menhir_action_422 () in
          _menhir_run_1514 _menhir_stack
      | SUB_EFFECT ->
          let _v = _menhir_action_568 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | SPLICET ->
          let _v = _menhir_action_564 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | SPLICE ->
          let _v = _menhir_action_563 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | REIFIABLE ->
          let _ = _menhir_action_429 () in
          _menhir_run_1514 _menhir_stack
      | REFLECTABLE ->
          let _ = _menhir_action_430 () in
          _menhir_run_1514 _menhir_stack
      | PRIVATE ->
          let _ = _menhir_action_423 () in
          _menhir_run_1514 _menhir_stack
      | PRAGMA_SHOW_OPTIONS ->
          let _ = _menhir_action_386 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_SET_OPTIONS ->
          let _ = _menhir_action_387 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_RESTART_SOLVER ->
          let _ = _menhir_action_391 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_RESET_OPTIONS ->
          let _ = _menhir_action_388 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_PUSH_OPTIONS ->
          let _ = _menhir_action_389 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_PRINT_EFFECTS_GRAPH ->
          let _ = _menhir_action_392 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_POP_OPTIONS ->
          let _ = _menhir_action_390 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | POLYMONADIC_SUBCOMP ->
          let _v = _menhir_action_570 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | POLYMONADIC_BIND ->
          let _v = _menhir_action_569 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | OPEN ->
          let _v = _menhir_action_555 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | OPAQUE ->
          let _ = _menhir_action_428 () in
          _menhir_run_1514 _menhir_stack
      | NOEXTRACT ->
          let _ = _menhir_action_420 () in
          _menhir_run_1514 _menhir_stack
      | NOEQUALITY ->
          let _ = _menhir_action_424 () in
          _menhir_run_1514 _menhir_stack
      | NEW_EFFECT ->
          let _v = _menhir_action_566 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | NEW ->
          let _ = _menhir_action_426 () in
          _menhir_run_1514 _menhir_stack
      | MODULE ->
          let _v = _menhir_action_558 () 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_427 _endpos__1_ _startpos__1_
          in
          _menhir_run_1514 _menhir_stack
      | LET _ ->
          let _v = _menhir_action_561 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LBRACK_AT_AT ->
          let _v = _menhir_action_551 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LBRACK_AT ->
          let _v = _menhir_action_550 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LAYERED_EFFECT ->
          let _v = _menhir_action_567 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | IRREDUCIBLE ->
          let _ = _menhir_action_419 () in
          _menhir_run_1514 _menhir_stack
      | INSTANCE ->
          let _v = _menhir_action_554 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | INLINE_FOR_EXTRACTION ->
          let _ = _menhir_action_417 () in
          _menhir_run_1514 _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_415 _endpos__1_ _startpos__1_
          in
          _menhir_run_1514 _menhir_stack
      | INCLUDE ->
          let _v = _menhir_action_557 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | FRIEND ->
          let _v = _menhir_action_556 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EXCEPTION ->
          let _v = _menhir_action_565 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EOF ->
          let _v = _menhir_action_548 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EFFECT ->
          let _v = _menhir_action_560 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | DEFAULT ->
          let _ = _menhir_action_421 () in
          _menhir_run_1514 _menhir_stack
      | CLASS ->
          let _v = _menhir_action_553 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | BLOB _v_47 ->
          let b = _v_47 in
          let _v = _menhir_action_571 b in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | ASSUME ->
          let _ = _menhir_action_414 () in
          _menhir_run_1514 _menhir_stack
      | _ ->
          _eRR ()
  
  let _menhir_run_1517 : type  ttv_stack. ttv_stack -> _ -> _menhir_box_term =
    fun _menhir_stack _v ->
      MenhirBox_term _v
  
  let _menhir_run_1452 : type  ttv_stack. ttv_stack -> _ -> _menhir_box_inputFragment =
    fun _menhir_stack _v ->
      let decls = _v in
      let _v = _menhir_action_199 decls in
      MenhirBox_inputFragment _v
  
  let rec _menhir_run_1460 : type  ttv_stack. (ttv_stack, _menhir_box_inputFragment) _menhir_cell1_decl -> _ -> _menhir_box_inputFragment =
    fun _menhir_stack _v ->
      let MenhirCell1_decl (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_234 x xs in
      _menhir_goto_list_decl_ _menhir_stack _v _menhir_s
  
  and _menhir_goto_list_decl_ : type  ttv_stack. ttv_stack -> _ -> (ttv_stack, _menhir_box_inputFragment) _menhir_state -> _menhir_box_inputFragment =
    fun _menhir_stack _v _menhir_s ->
      match _menhir_s with
      | MenhirState1459 ->
          _menhir_run_1460 _menhir_stack _v
      | MenhirState0000 ->
          _menhir_run_1452 _menhir_stack _v
      | _ ->
          _menhir_fail ()
  
  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_175 _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
      | MenhirState1461 ->
          _menhir_run_1465 _menhir_stack _menhir_lexbuf _v _menhir_s _tok
      | MenhirState1459 ->
          _menhir_run_1459 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0000 ->
          _menhir_run_1459 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1459 : 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 MenhirState1459 _menhir_initp
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | IRREDUCIBLE ->
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0995 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | INLINE ->
          _menhir_run_0996 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | DEFAULT ->
          _menhir_run_0997 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | ASSUME ->
          _menhir_run_0998 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1459 _menhir_initp
      | EOF ->
          let _v_1 = _menhir_action_233 () in
          _menhir_run_1460 _menhir_stack _v_1
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET _ | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v_2 = _menhir_action_235 () in
          _menhir_run_1003 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1459 _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_425 () 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
      | MenhirState1465 ->
          _menhir_run_1514 _menhir_stack
      | MenhirState1461 ->
          _menhir_run_1002 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1459 ->
          _menhir_run_1002 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1455 ->
          _menhir_run_1002 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0000 ->
          _menhir_run_1002 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1002 : 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_179 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 MenhirState1455 _menhir_initp
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | IRREDUCIBLE ->
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0995 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | INLINE ->
          _menhir_run_0996 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | DEFAULT ->
          _menhir_run_0997 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1455 _menhir_initp
      | ASSUME ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let _v_0 = _menhir_action_414 () in
          _menhir_run_1002 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1455 _tok _menhir_initp
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET _ | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v_1 = _menhir_action_235 () in
          _menhir_run_1457 _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_416 _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_418 () 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_422 () 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_429 () 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_430 () 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_423 () 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_428 () 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_420 () 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_424 () 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_426 () 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_427 _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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_480 () in
          _menhir_run_0992 _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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_094 _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_218 _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_094 _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
      | MenhirState1073 ->
          _menhir_run_0880 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0880 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0880 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0880 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0880 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0880 : 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_325 _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_097 x in
      _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0470 : type  ttv_stack ttv_result. ttv_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 = MenhirState0470 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 = MenhirState0471 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 = MenhirState0470 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 = MenhirState0489 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 = MenhirState0470 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 = MenhirState0494 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 = MenhirState0470 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 = MenhirState0499 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_091 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_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_154 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
      | MenhirState1004 ->
          _menhir_run_1050 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _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
      | MenhirState0907 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0595 ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0081 ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0066 ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1050 : 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_445 _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_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_176 _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_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 ->
      let (_endpos_c_, _startpos_c_, c) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_086 _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_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
      | MenhirState0092 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _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
      | MenhirState0218 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0457 : type  ttv_stack ttv_result. ttv_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_375 pat in
      _menhir_goto_patternOrMultibinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pat_ _startpos_pat_ _v _menhir_s _tok _menhir_initp
  
  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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _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 MenhirState0455 _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 MenhirState0455 _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 MenhirState0455 _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 MenhirState0455 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0455 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | STRING _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 MenhirState0455 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0455 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | REAL _v_7 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0455 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | NAME _v_8 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0455 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _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 MenhirState0455 _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 MenhirState0455 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | INT8 _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 MenhirState0455 _menhir_initp
      | INT64 _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 MenhirState0455 _menhir_initp
      | INT32 _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 MenhirState0455 _menhir_initp
      | INT16 _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 MenhirState0455 _menhir_initp
      | INT _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 MenhirState0455 _menhir_initp
      | IDENT _v_14 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0455 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | CHAR _v_15 ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0455 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_patternOrMultibinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0455 _menhir_initp
      | COLON | EQUALS | RARROW ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_316 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_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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_084 _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_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_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_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_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_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_0022 : 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_tv_, _startpos_tv_, tv) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_677 _endpos_tv_ _startpos_tv_ tv in
      _menhir_goto_tvar _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tv_ _startpos_tv_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tvar : type  ttv_stack ttv_result. ttv_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
      | MenhirState1059 ->
          _menhir_run_1058 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_1058 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1441 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1436 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1345 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1338 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1046 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1032 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1027 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1022 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1017 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1012 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1007 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0887 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0276 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0237 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1058 : type  ttv_stack ttv_result. ttv_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_tvar (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState1059 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | TYP_APP_GREATER ->
          let x = _v in
          let _v = _menhir_action_525 x in
          _menhir_goto_separated_nonempty_list_COMMA_tvar_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_COMMA_tvar_ : 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
      | MenhirState1057 ->
          _menhir_run_1061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1059 ->
          _menhir_run_1060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1061 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_TYP_APP_LESS -> _ -> _ -> _ -> _ -> 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_TYP_APP_LESS (_menhir_stack, _menhir_s, _) = _menhir_stack in
      let tvs = _v in
      let _v = _menhir_action_678 tvs in
      let x = _v in
      let _v = _menhir_action_679 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
      | MenhirState1441 ->
          _menhir_run_1442 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_1063 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1442 : 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 = MenhirState1443 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _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 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_094 _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_218 _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
      | MenhirState0161 ->
          _menhir_run_0824 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0451 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0247 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0245 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0240 ->
          _menhir_run_0241 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1441 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1436 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1345 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1338 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1046 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1032 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1027 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1022 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1017 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1012 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1007 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0887 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0276 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0237 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0824 : 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_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 = MenhirState0825 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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 _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_151 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  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 _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 = 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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_s_, _startpos_s_, s) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_150 _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_0025 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_162 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_165 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_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_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 MenhirState0027 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0027 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0027 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_480 () in
          _menhir_run_0988 _menhir_stack _menhir_lexbuf _menhir_lexer _v _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 _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 = MenhirState0028 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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 = MenhirState0029 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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_0031 : 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_153 r in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos_r_ _v _menhir_s _tok _menhir_initp
  
  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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_164 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  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_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 MenhirState0033 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0033 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0033 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_480 () in
          _menhir_run_0983 _menhir_stack _menhir_lexbuf _menhir_lexer _v _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 _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 = 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0035 : 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 = 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0036 : 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 = MenhirState0036 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _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 _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_698 _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
      | MenhirState1434 ->
          _menhir_run_1441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_1436 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1429 ->
          _menhir_run_1430 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1358 ->
          _menhir_run_1362 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1336 ->
          _menhir_run_1352 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_1338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1188 ->
          _menhir_run_1189 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1174 ->
          _menhir_run_1175 _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
      | MenhirState1427 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1424 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1363 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1360 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1265 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1260 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1257 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1255 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1249 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1207 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1204 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _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
      | MenhirState0092 ->
          _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
      | MenhirState0907 ->
          _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
      | MenhirState0103 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _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
      | MenhirState0205 ->
          _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
      | MenhirState1446 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1267 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1330 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1325 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1320 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1315 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1310 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1305 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1295 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1271 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1231 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1228 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1051 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0113 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0112 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0904 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0711 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0332 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0306 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0097 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1441 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | TYP_APP_LESS ->
          _menhir_run_1057 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1441 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1441 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1441 _menhir_initp
      | EQUALS ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState1441 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0147 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_218 _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_1057 : 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_TYP_APP_LESS (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState1057 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_255 _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_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0237 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0237 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | AND | ASSUME | BLOB _ | CLASS | COLON | DEFAULT | 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_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_2 = _menhir_action_223 () in
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_2 _tok _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_LPAREN (_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_0147 _menhir_stack _menhir_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_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_480 () in
          _menhir_run_0947 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  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_REQUIRES (_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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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 _menhir_stack = MenhirCell1_QUOTE (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0044 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0045 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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 _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_147 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0039 : 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 = MenhirState0039 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0040 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0051 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0461 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0464 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0514 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0522 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0040 : 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 MenhirState0040 _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 MenhirState0040 _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 MenhirState0040 _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 MenhirState0040 _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 MenhirState0040 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0040 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | STRING _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 MenhirState0040 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0040 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | RPAREN ->
          let _startpos_7 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_8 = _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_8, _startpos_7) 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
      | REIFY ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | REAL _v_9 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0040 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | OPPREFIX _v_10 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0040 _menhir_initp
      | NAME _v_11 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0040 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | INT8 _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 MenhirState0040 _menhir_initp
      | INT64 _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 MenhirState0040 _menhir_initp
      | INT32 _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 MenhirState0040 _menhir_initp
      | INT16 _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 MenhirState0040 _menhir_initp
      | INT _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 MenhirState0040 _menhir_initp
      | IDENT _v_17 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0040 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | CHAR _v_18 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0040 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0040 _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 _menhir_stack = MenhirCell1_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0042 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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_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 MenhirState0046 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0046 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0046 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_480 () in
          _menhir_run_0974 _menhir_stack _menhir_lexbuf _menhir_lexer _v _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 _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_246 _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 MenhirState0373 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0373 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0373 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0373 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0373 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0373 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0373 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0373 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0373 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0373 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0373 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0373 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0373 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0373 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0373 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0373 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0373 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0373 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0373 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0373 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0373 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0373 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0373 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0373 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0373 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0373 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0373 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0373 _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 _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_245 () in
      _menhir_goto_matchMaybeOp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  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 _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 = MenhirState0048 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0040 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0051 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0461 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0464 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0514 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0522 _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_138 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_binop_name : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1377 ->
          _menhir_run_1413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1268 ->
          _menhir_run_1327 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_1287 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1155 ->
          _menhir_run_1170 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1136 ->
          _menhir_run_1151 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1114 ->
          _menhir_run_1129 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_1106 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_1085 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1005 ->
          _menhir_run_1041 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0918 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0918 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0891 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0725 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0725 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0632 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1413 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1414 _menhir_initp
          | TVAR _v_2 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1414 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1414 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1414 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1414 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1414 _menhir_initp
          | IDENT _v_3 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1414 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1414 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1414 _menhir_initp
          | COLON ->
              let _v_4 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_4 MenhirState1414 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0161 : 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_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0161 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _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_QUOTE (_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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0158 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0158 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _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_LBRACE (_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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0109 : 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 MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _menhir_initp
      | TVAR _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | TRY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _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, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | UINT8 _v_2 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0110 _menhir_initp
          | UINT64 _v_3 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0110 _menhir_initp
          | UINT32 _v_4 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0110 _menhir_initp
          | UINT16 _v_5 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0110 _menhir_initp
          | TVAR _v_6 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0110 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | STRING _v_7 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0110 _menhir_initp
          | SIZET _v_8 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0110 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | RPAREN ->
              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
              | 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 | TVAR _ | 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_10, _startpos_9) 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_1, _startpos_0, _v, _endpos_10) in
                  let _v = _menhir_action_408 _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, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | REAL _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0110 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | OPPREFIX _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0110 _menhir_initp
          | NAME _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0110 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | INT8 _v_14 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0110 _menhir_initp
          | INT64 _v_15 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0110 _menhir_initp
          | INT32 _v_16 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0110 _menhir_initp
          | INT16 _v_17 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0110 _menhir_initp
          | INT _v_18 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0110 _menhir_initp
          | IDENT _v_19 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0110 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | CHAR _v_20 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0110 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0109, _v, _startpos_0, _endpos_1) in
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
          | _ ->
              _eRR ())
      | SYNTH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | STRING _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | SIZET _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | REQUIRES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | REAL _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | OPPREFIX _v ->
          let _startpos_21 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_22 = _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, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | UINT8 _v_23 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0877 _menhir_initp
          | UINT64 _v_24 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0877 _menhir_initp
          | UINT32 _v_25 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0877 _menhir_initp
          | UINT16 _v_26 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0877 _menhir_initp
          | TVAR _v_27 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0877 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | STRING _v_28 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState0877 _menhir_initp
          | SIZET _v_29 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState0877 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | RPAREN ->
              let _startpos_30 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_31 = _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 | TVAR _ | 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_22, _startpos_21, _v, _endpos_31, _startpos_30) 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_22, _startpos_21, _v, _endpos_31) in
                  let _v = _menhir_action_406 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | REAL _v_32 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState0877 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | OPPREFIX _v_33 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState0877 _menhir_initp
          | NAME _v_34 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState0877 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0038 _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_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0039 _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_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0042 _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_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | INT8 _v_35 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState0877 _menhir_initp
          | INT64 _v_36 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState0877 _menhir_initp
          | INT32 _v_37 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState0877 _menhir_initp
          | INT16 _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState0877 _menhir_initp
          | INT _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState0877 _menhir_initp
          | IDENT _v_40 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_40 MenhirState0877 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | CHAR _v_41 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_41 MenhirState0877 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0109, _v, _startpos_21, _endpos_22) in
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0877 _menhir_initp
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | OPINFIX3 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _menhir_initp
      | NAME _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | MINUS ->
          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
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | UINT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | UINT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | UINT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | UINT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | TVAR _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | TILDE _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | STRING _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | SIZET _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | RPAREN ->
              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
              | 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 | TVAR _ | 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_43, _startpos_42, (), _endpos_45, _startpos_44) 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_43, _startpos_42, (), _endpos_45) in
                  let _v = _menhir_action_409 _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, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | REAL _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | QUOTE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | OPPREFIX _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | NAME _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0038 _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_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | INT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | INT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | INT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | INT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | INT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | IDENT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | FUN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | FORALL_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | FORALL _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | EXISTS_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | EXISTS _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | CHAR _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0881 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | BACKTICK_HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | BACKTICK_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | BACKTICK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0109, _startpos_42, _endpos_43) in
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0881 _menhir_initp
          | _ ->
              _eRR ())
      | MATCH_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | MATCH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | LET_OP _v ->
          let _startpos_46 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_47 = _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, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | UINT8 _v_48 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_48 MenhirState0883 _menhir_initp
          | UINT64 _v_49 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_49 MenhirState0883 _menhir_initp
          | UINT32 _v_50 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_50 MenhirState0883 _menhir_initp
          | UINT16 _v_51 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState0883 _menhir_initp
          | TVAR _v_52 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_52 MenhirState0883 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | STRING _v_53 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_53 MenhirState0883 _menhir_initp
          | SIZET _v_54 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState0883 _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, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | RPAREN ->
              let _startpos_55 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_56 = _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 | TVAR _ | 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_47, _startpos_46, _v, _endpos_56, _startpos_55) 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_47, _startpos_46, _v, _endpos_56) in
                  let _v = _menhir_action_411 _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, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | REAL _v_57 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_57 MenhirState0883 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | NAME _v_58 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState0883 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _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, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _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, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | INT8 _v_59 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_59 MenhirState0883 _menhir_initp
          | INT64 _v_60 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_60 MenhirState0883 _menhir_initp
          | INT32 _v_61 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState0883 _menhir_initp
          | INT16 _v_62 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState0883 _menhir_initp
          | INT _v_63 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_63 MenhirState0883 _menhir_initp
          | IDENT _v_64 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_64 MenhirState0883 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | CHAR _v_65 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_65 MenhirState0883 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0109, _v, _startpos_46, _endpos_47) in
              _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0883 _menhir_initp
          | _ ->
              _eRR ())
      | LET _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _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 MenhirState0109 _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 MenhirState0109 _menhir_initp
      | LBRACK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | INTRO ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | INT8 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | INT64 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | INT32 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | INT16 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | INT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | IF_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | IF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | FUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | FORALL_OP _v ->
          let _startpos_66 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_67 = _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, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0885 _menhir_initp
          | TVAR _v_68 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_68 MenhirState0885 _menhir_initp
          | RPAREN ->
              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
              | 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 | TVAR _ | 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_67, _startpos_66, _v, _endpos_70, _startpos_69) in
                  let _v = _menhir_action_105 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_67, _startpos_66, _v, _endpos_70) in
                  let _v = _menhir_action_413 _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, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0885 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0885 _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, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0885 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0885 _menhir_initp
          | IDENT _v_71 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_71 MenhirState0885 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0885 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0109, _v, _startpos_66, _endpos_67) in
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0885 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0109, _v, _startpos_66, _endpos_67) in
              let _v_72 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_67 _endpos_67 _v_72 MenhirState0885 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FORALL _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | EXISTS_OP _v ->
          let _startpos_73 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_74 = _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, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0887 _menhir_initp
          | TVAR _v_75 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_75 MenhirState0887 _menhir_initp
          | RPAREN ->
              let _startpos_76 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_77 = _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 | TVAR _ | 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_74, _startpos_73, _v, _endpos_77, _startpos_76) in
                  let _v = _menhir_action_104 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_74, _startpos_73, _v, _endpos_77) in
                  let _v = _menhir_action_412 _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, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0887 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0887 _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, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0887 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0887 _menhir_initp
          | IDENT _v_78 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_78 MenhirState0887 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0887 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0109, _v, _startpos_73, _endpos_74) in
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0887 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0109, _v, _startpos_73, _endpos_74) in
              let _v_79 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_74 _endpos_74 _v_79 MenhirState0887 _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | ENSURES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | ELIM ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | DECREASES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | CHAR _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0109 _menhir_initp
      | CALC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | ATTRIBUTES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | ASSUME ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | ASSERT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0109 _menhir_initp
      | AND_OP _v ->
          let _startpos_80 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_81 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_82 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_83 = _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 | TVAR _ | 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_81, _startpos_80, _v, _endpos_83, _startpos_82) 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_81, _startpos_80, _v, _endpos_83) in
                  let _v = _menhir_action_410 _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_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 = MenhirState0335 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE | SEMICOLON ->
          let (_endpos_lid_, _startpos_lid_, lid) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_545 _endpos_lid_ _startpos_lid_ lid in
          _menhir_goto_simpleDef _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_lid_ _startpos_lid_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0064 : 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 = MenhirState0064 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0066 : 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 = MenhirState0066 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_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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_155 _endpos_n_ _startpos_n_ n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0054 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_161 _endpos_n_ _startpos_n_ n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0055 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_159 _endpos_n_ _startpos_n_ 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_157 _endpos_n_ _startpos_n_ n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  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_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_148 _endpos_n_ _startpos_n_ n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _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 _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_152 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  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 _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_149 c in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos_c_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0068 : 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 = MenhirState0068 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0069 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0071 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3 _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_0037 _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_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0912 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0914 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | EQUALS ->
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0916 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0069 : 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_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
      | _ ->
          _eRR ()
  
  and _menhir_run_0050 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_139 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0071 : 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_076 _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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_0023 _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_0024 _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_0025 _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_0026 _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_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
      | REIFY ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _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_0031 _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_0032 _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_0038 _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_0053 _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_0054 _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_0055 _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_0056 _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_0057 _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_0059 _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_0060 _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_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_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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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_LBRACK (_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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_243 () in
          _menhir_goto_loption_separated_nonempty_list_SEMICOLON_tuplePattern__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _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_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0095 _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_477 () in
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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_216 _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
      | MenhirState1376 ->
          _menhir_run_1418 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1350 ->
          _menhir_run_1345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_1345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_1173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_1173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1154 ->
          _menhir_run_1172 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1135 ->
          _menhir_run_1153 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1113 ->
          _menhir_run_1131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1178 ->
          _menhir_run_1112 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1090 ->
          _menhir_run_1112 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1110 ->
          _menhir_run_1112 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1446 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1267 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1330 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1325 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1320 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1315 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1310 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1305 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1295 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1271 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1231 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1228 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1051 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_1055 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1004 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0644 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0375 ->
          _menhir_run_0376 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0223 ->
          _menhir_run_0224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0221 ->
          _menhir_run_0222 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0216 ->
          _menhir_run_0217 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0926 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0920 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0175 ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0188 ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0184 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0184 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0140 ->
          _menhir_run_0141 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1358 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0904 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0711 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0306 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0332 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0113 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0097 ->
          _menhir_run_0099 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1418 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1418 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1418 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
      | COLON ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState1418 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0150 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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_217 _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_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 _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_0106 _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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          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
      | _ ->
          _eRR ()
  
  and _menhir_run_0106 : 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 = MenhirState0106 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _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 _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 (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | REC ->
          _menhir_run_0088 _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 = MenhirState0089 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _v_28 = _menhir_action_215 () in
          _menhir_run_0942 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_28 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_214 () in
      _menhir_goto_letqualifier _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _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 _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1375 ->
          _menhir_run_1422 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1367 ->
          _menhir_run_1368 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0087 ->
          _menhir_run_0942 _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
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1422 : 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 _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letqualifier (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1422 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState1422 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0408 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_141 () in
      _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_boption_SQUIGGLY_RARROW_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_b_, _startpos_b_, b) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_249 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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0409 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0409 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0409 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0409 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0409 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0409 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0409 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0409 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0409 _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | LPAREN ->
          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
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | UINT8 _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0410 _menhir_initp
          | UINT64 _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0410 _menhir_initp
          | UINT32 _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0410 _menhir_initp
          | UINT16 _v_14 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0410 _menhir_initp
          | TVAR _v_15 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0410 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | TILDE _v_16 ->
              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
              | RPAREN ->
                  let _startpos_19 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_20 = _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, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | UINT8 _v_21 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0412 _menhir_initp
                  | UINT64 _v_22 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0412 _menhir_initp
                  | UINT32 _v_23 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0412 _menhir_initp
                  | UINT16 _v_24 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0412 _menhir_initp
                  | TVAR _v_25 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0412 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | STRING _v_26 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0412 _menhir_initp
                  | SIZET _v_27 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0412 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | REAL _v_28 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState0412 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | NAME _v_29 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState0412 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | INT8 _v_30 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState0412 _menhir_initp
                  | INT64 _v_31 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState0412 _menhir_initp
                  | INT32 _v_32 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState0412 _menhir_initp
                  | INT16 _v_33 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState0412 _menhir_initp
                  | INT _v_34 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState0412 _menhir_initp
                  | IDENT _v_35 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState0412 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | CHAR _v_36 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState0412 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0410, _v_16, _startpos_17, _endpos_18) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_19, _endpos_20) in
                      _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0412 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_37 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_9, _endpos_18, _startpos_17, _v_16, _endpos_20) in
                        _menhir_action_078 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_20 _startpos_9 _v_37 MenhirState0409 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | STRING _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState0410 _menhir_initp
          | SIZET _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState0410 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | REAL _v_40 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_40 MenhirState0410 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_41 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_41 MenhirState0410 _menhir_initp
          | OP_MIXFIX_ACCESS _v_42 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_42 MenhirState0410 _menhir_initp
          | OPPREFIX _v_43 ->
              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
              | RPAREN ->
                  let _startpos_46 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_47 = _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, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | UINT8 _v_48 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_48 MenhirState0590 _menhir_initp
                  | UINT64 _v_49 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_49 MenhirState0590 _menhir_initp
                  | UINT32 _v_50 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_50 MenhirState0590 _menhir_initp
                  | UINT16 _v_51 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState0590 _menhir_initp
                  | TVAR _v_52 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_52 MenhirState0590 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | STRING _v_53 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_53 MenhirState0590 _menhir_initp
                  | SIZET _v_54 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState0590 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | REAL _v_55 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_55 MenhirState0590 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | NAME _v_56 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_56 MenhirState0590 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | INT8 _v_57 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_57 MenhirState0590 _menhir_initp
                  | INT64 _v_58 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState0590 _menhir_initp
                  | INT32 _v_59 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_59 MenhirState0590 _menhir_initp
                  | INT16 _v_60 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_60 MenhirState0590 _menhir_initp
                  | INT _v_61 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState0590 _menhir_initp
                  | IDENT _v_62 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState0590 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | CHAR _v_63 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_63 MenhirState0590 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0410, _v_43, _startpos_44, _endpos_45) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_46, _endpos_47) in
                      _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_64 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_9, _endpos_45, _startpos_44, _v_43, _endpos_47) in
                        _menhir_action_076 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_47 _startpos_9 _v_64 MenhirState0409 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | OPINFIX4 _v_65 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_65 MenhirState0410 _menhir_initp
          | OPINFIX3 _v_66 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_66 MenhirState0410 _menhir_initp
          | OPINFIX2 _v_67 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState0410 _menhir_initp
          | OPINFIX1 _v_68 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_68 MenhirState0410 _menhir_initp
          | OPINFIX0d _v_69 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_69 MenhirState0410 _menhir_initp
          | OPINFIX0c _v_70 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_70 MenhirState0410 _menhir_initp
          | OPINFIX0b _v_71 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_71 MenhirState0410 _menhir_initp
          | OPINFIX0a _v_72 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_72 MenhirState0410 _menhir_initp
          | NAME _v_73 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState0410 _menhir_initp
          | MINUS ->
              let _startpos_74 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_75 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UINT8 _v_76 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_76 MenhirState0595 _menhir_initp
              | UINT64 _v_77 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_77 MenhirState0595 _menhir_initp
              | UINT32 _v_78 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_78 MenhirState0595 _menhir_initp
              | UINT16 _v_79 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_79 MenhirState0595 _menhir_initp
              | TRUE ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0595 _menhir_initp
              | STRING _v_80 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_80 MenhirState0595 _menhir_initp
              | SIZET _v_81 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_81 MenhirState0595 _menhir_initp
              | SET_RANGE_OF ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0595 _menhir_initp
              | RPAREN ->
                  let _startpos_82 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_83 = _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, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | UINT8 _v_84 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_84 MenhirState0596 _menhir_initp
                  | UINT64 _v_85 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_85 MenhirState0596 _menhir_initp
                  | UINT32 _v_86 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_86 MenhirState0596 _menhir_initp
                  | UINT16 _v_87 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_87 MenhirState0596 _menhir_initp
                  | TVAR _v_88 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_88 MenhirState0596 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | STRING _v_89 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_89 MenhirState0596 _menhir_initp
                  | SIZET _v_90 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_90 MenhirState0596 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | REAL _v_91 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_91 MenhirState0596 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | NAME _v_92 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_92 MenhirState0596 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | INT8 _v_93 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_93 MenhirState0596 _menhir_initp
                  | INT64 _v_94 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_94 MenhirState0596 _menhir_initp
                  | INT32 _v_95 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_95 MenhirState0596 _menhir_initp
                  | INT16 _v_96 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_96 MenhirState0596 _menhir_initp
                  | INT _v_97 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_97 MenhirState0596 _menhir_initp
                  | IDENT _v_98 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_98 MenhirState0596 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | CHAR _v_99 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_99 MenhirState0596 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0595, _startpos_82, _endpos_83) in
                      _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0596 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_100 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_9, _endpos_75, _startpos_74, (), _endpos_83) in
                        _menhir_action_079 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_83 _startpos_9 _v_100 MenhirState0409 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | REIFY ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0595 _menhir_initp
              | REAL _v_101 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_101 MenhirState0595 _menhir_initp
              | RANGE_OF ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0595 _menhir_initp
              | LPAREN_RPAREN ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0595 _menhir_initp
              | INT8 _v_102 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_102 MenhirState0595 _menhir_initp
              | INT64 _v_103 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_103 MenhirState0595 _menhir_initp
              | INT32 _v_104 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_104 MenhirState0595 _menhir_initp
              | INT16 _v_105 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_105 MenhirState0595 _menhir_initp
              | INT _v_106 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_106 MenhirState0595 _menhir_initp
              | FALSE ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0595 _menhir_initp
              | CHAR _v_107 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0410, _startpos_74, _endpos_75) in
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_107 MenhirState0595 _menhir_initp
              | _ ->
                  _eRR ())
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | LET_OP _v_108 ->
              let _startpos_109 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_110 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_111 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_112 = _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, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | UINT8 _v_113 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_113 MenhirState0602 _menhir_initp
                  | UINT64 _v_114 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_114 MenhirState0602 _menhir_initp
                  | UINT32 _v_115 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_115 MenhirState0602 _menhir_initp
                  | UINT16 _v_116 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_116 MenhirState0602 _menhir_initp
                  | TVAR _v_117 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_117 MenhirState0602 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | STRING _v_118 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_118 MenhirState0602 _menhir_initp
                  | SIZET _v_119 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_119 MenhirState0602 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | REAL _v_120 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_120 MenhirState0602 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | NAME _v_121 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_121 MenhirState0602 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | INT8 _v_122 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_122 MenhirState0602 _menhir_initp
                  | INT64 _v_123 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_123 MenhirState0602 _menhir_initp
                  | INT32 _v_124 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_124 MenhirState0602 _menhir_initp
                  | INT16 _v_125 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_125 MenhirState0602 _menhir_initp
                  | INT _v_126 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_126 MenhirState0602 _menhir_initp
                  | IDENT _v_127 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_127 MenhirState0602 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | CHAR _v_128 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_128 MenhirState0602 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0410, _v_108, _startpos_109, _endpos_110) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_111, _endpos_112) in
                      _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0602 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_129 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_9, _endpos_110, _startpos_109, _v_108, _endpos_112) in
                        _menhir_action_081 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_112 _startpos_9 _v_129 MenhirState0409 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | INT8 _v_130 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_130 MenhirState0410 _menhir_initp
          | INT64 _v_131 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_131 MenhirState0410 _menhir_initp
          | INT32 _v_132 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_132 MenhirState0410 _menhir_initp
          | INT16 _v_133 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_133 MenhirState0410 _menhir_initp
          | INT _v_134 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_134 MenhirState0410 _menhir_initp
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | IDENT _v_135 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_135 MenhirState0410 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | FORALL_OP _v_136 ->
              let _startpos_137 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_138 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_139 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_140 = _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, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | UINT8 _v_141 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_141 MenhirState0608 _menhir_initp
                  | UINT64 _v_142 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_142 MenhirState0608 _menhir_initp
                  | UINT32 _v_143 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_143 MenhirState0608 _menhir_initp
                  | UINT16 _v_144 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_144 MenhirState0608 _menhir_initp
                  | TVAR _v_145 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_145 MenhirState0608 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | STRING _v_146 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_146 MenhirState0608 _menhir_initp
                  | SIZET _v_147 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_147 MenhirState0608 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | REAL _v_148 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_148 MenhirState0608 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | NAME _v_149 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_149 MenhirState0608 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | INT8 _v_150 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_150 MenhirState0608 _menhir_initp
                  | INT64 _v_151 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_151 MenhirState0608 _menhir_initp
                  | INT32 _v_152 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_152 MenhirState0608 _menhir_initp
                  | INT16 _v_153 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_153 MenhirState0608 _menhir_initp
                  | INT _v_154 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_154 MenhirState0608 _menhir_initp
                  | IDENT _v_155 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_155 MenhirState0608 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | CHAR _v_156 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_156 MenhirState0608 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0410, _v_136, _startpos_137, _endpos_138) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_139, _endpos_140) in
                      _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0608 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_157 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_9, _endpos_138, _startpos_137, _v_136, _endpos_140) in
                        _menhir_action_083 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_140 _startpos_9 _v_157 MenhirState0409 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | EXISTS_OP _v_158 ->
              let _startpos_159 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_160 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_161 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_162 = _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, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | UINT8 _v_163 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_163 MenhirState0614 _menhir_initp
                  | UINT64 _v_164 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_164 MenhirState0614 _menhir_initp
                  | UINT32 _v_165 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_165 MenhirState0614 _menhir_initp
                  | UINT16 _v_166 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_166 MenhirState0614 _menhir_initp
                  | TVAR _v_167 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_167 MenhirState0614 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | STRING _v_168 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_168 MenhirState0614 _menhir_initp
                  | SIZET _v_169 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_169 MenhirState0614 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | REAL _v_170 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_170 MenhirState0614 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | NAME _v_171 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_171 MenhirState0614 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | INT8 _v_172 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_172 MenhirState0614 _menhir_initp
                  | INT64 _v_173 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_173 MenhirState0614 _menhir_initp
                  | INT32 _v_174 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_174 MenhirState0614 _menhir_initp
                  | INT16 _v_175 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_175 MenhirState0614 _menhir_initp
                  | INT _v_176 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_176 MenhirState0614 _menhir_initp
                  | IDENT _v_177 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_177 MenhirState0614 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | CHAR _v_178 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_178 MenhirState0614 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0410, _v_158, _startpos_159, _endpos_160) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_161, _endpos_162) in
                      _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0614 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_179 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_9, _endpos_160, _startpos_159, _v_158, _endpos_162) in
                        _menhir_action_082 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_162 _startpos_9 _v_179 MenhirState0409 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | CHAR _v_180 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_180 MenhirState0410 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
              _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0410 _menhir_initp
          | AND_OP _v_181 ->
              let _startpos_182 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_183 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_184 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_185 = _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, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | UINT8 _v_186 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_186 MenhirState0620 _menhir_initp
                  | UINT64 _v_187 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_187 MenhirState0620 _menhir_initp
                  | UINT32 _v_188 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_188 MenhirState0620 _menhir_initp
                  | UINT16 _v_189 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_189 MenhirState0620 _menhir_initp
                  | TVAR _v_190 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_190 MenhirState0620 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | STRING _v_191 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_191 MenhirState0620 _menhir_initp
                  | SIZET _v_192 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_192 MenhirState0620 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | REAL _v_193 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_193 MenhirState0620 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | NAME _v_194 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_194 MenhirState0620 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | INT8 _v_195 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_195 MenhirState0620 _menhir_initp
                  | INT64 _v_196 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_196 MenhirState0620 _menhir_initp
                  | INT32 _v_197 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_197 MenhirState0620 _menhir_initp
                  | INT16 _v_198 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_198 MenhirState0620 _menhir_initp
                  | INT _v_199 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_199 MenhirState0620 _menhir_initp
                  | IDENT _v_200 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_200 MenhirState0620 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | CHAR _v_201 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_201 MenhirState0620 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0409, _startpos_9, _endpos_10) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0410, _v_181, _startpos_182, _endpos_183) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_184, _endpos_185) in
                      _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0620 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_202 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_9, _endpos_183, _startpos_182, _v_181, _endpos_185) in
                        _menhir_action_080 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_185 _startpos_9 _v_202 MenhirState0409 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | LBRACK ->
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | INT8 _v_203 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_203 MenhirState0409 _menhir_initp
      | INT64 _v_204 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_204 MenhirState0409 _menhir_initp
      | INT32 _v_205 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_205 MenhirState0409 _menhir_initp
      | INT16 _v_206 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_206 MenhirState0409 _menhir_initp
      | INT _v_207 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_207 MenhirState0409 _menhir_initp
      | IDENT _v_208 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_208 MenhirState0409 _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _menhir_initp
      | CHAR _v_209 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_209 MenhirState0409 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0409 _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_LPAREN (_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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0069 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0071 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3 _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_0037 _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_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0912 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0914 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | EQUALS ->
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0916 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0316 : 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_0317 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _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_0104 : 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_085 _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_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | IDENT _ | LBRACK_AT_AT_AT ->
          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
      | _ ->
          _eRR ()
  
  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
      | MenhirState1196 ->
          _menhir_run_1135 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1178 ->
          _menhir_run_1135 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_1135 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1090 ->
          _menhir_run_1135 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1110 ->
          _menhir_run_1135 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0963 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0559 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1441 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1436 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1338 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1345 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1046 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1032 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1027 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1022 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1017 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1012 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1007 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0887 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0276 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0237 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0920 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0926 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1135 : 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_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 ())
          | OP_MIXFIX_ASSIGNMENT _v_6 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1136 _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, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1136 _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_038 _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, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1136 _menhir_initp
          | OPINFIX3 _v_14 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1136 _menhir_initp
          | OPINFIX2 _v_15 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1136 _menhir_initp
          | OPINFIX1 _v_16 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1136 _menhir_initp
          | OPINFIX0d _v_17 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1136 _menhir_initp
          | OPINFIX0c _v_18 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1136 _menhir_initp
          | OPINFIX0b _v_19 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1136 _menhir_initp
          | OPINFIX0a _v_20 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1136 _menhir_initp
          | MINUS ->
              let _startpos_21 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_22 = _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_22, _startpos_21, (), _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 ())
          | LET_OP _v_25 ->
              let _startpos_26 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_27 = _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_27, _startpos_26, _v_25, _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 ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1136 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1136 _menhir_initp
          | FORALL_OP _v_30 ->
              let _startpos_31 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_32 = _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_32, _startpos_31, _v_30, _v) in
                  let _v = _menhir_action_045 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EXISTS_OP _v_35 ->
              let _startpos_36 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_37 = _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_37, _startpos_36, _v_35, _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 ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1136 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1136 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1136 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1136 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1135, _startpos_0, _endpos) in
              _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1136 _menhir_initp
          | AND_OP _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 _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_42, _startpos_41, _v_40, _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 ())
          | _ ->
              _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 MenhirState1135 _menhir_initp
      | IDENT _v_45 ->
          let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_45 MenhirState1135 _menhir_initp
      | _ ->
          _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 = MenhirState1133 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0107 : 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_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0107 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0108 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_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_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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _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_FUN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0092 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0093 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0413 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0413 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0162 : 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_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0162 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 _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 = MenhirState0061 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0090 : 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 MenhirState0090 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0090 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0090 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_225 () in
          _menhir_run_0937 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _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 _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_BANG_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0091 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_239 () in
          _menhir_goto_loption_separated_nonempty_list_COMMA_appTerm__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0146 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0146 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0146 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0146 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0146 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0146 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0146 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0146 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0146 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0146 _menhir_initp
      | DOT ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState0146 _tok _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 _tok = _menhir_lexer _menhir_lexbuf in
      let _startpos__1_ = _startpos in
      let _v = _menhir_action_023 () in
      _menhir_goto_aqual _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_bss_, _startpos_bss_, bss) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_122 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
      | MenhirState1436 ->
          _menhir_run_1437 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_1419 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_1415 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_1410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_1405 _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
      | MenhirState1394 ->
          _menhir_run_1395 _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
      | MenhirState1384 ->
          _menhir_run_1385 _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
      | MenhirState1345 ->
          _menhir_run_1346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1338 ->
          _menhir_run_1339 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1441 ->
          _menhir_run_1202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_1202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1046 ->
          _menhir_run_1047 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_1043 _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
      | MenhirState1032 ->
          _menhir_run_1033 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1027 ->
          _menhir_run_1028 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1022 ->
          _menhir_run_1023 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1017 ->
          _menhir_run_1018 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1012 ->
          _menhir_run_1013 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1007 ->
          _menhir_run_1008 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0846 _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 _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0828 _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 _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0747 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0747 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0747 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0747 _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
      | MenhirState1079 ->
          _menhir_run_0516 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0516 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0516 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0516 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0276 ->
          _menhir_run_0277 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0253 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0887 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1437 : 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 = MenhirState1438 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | TYPE | TYP_APP_LESS | 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_216 _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_217 _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_0160 : 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 (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0160 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0160 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0160 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0160 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0160 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0160 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0160 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0160 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0160 _menhir_initp
      | DOT ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState0160 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0235 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0235 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0235 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | DOT ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState0235 _tok _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 _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 (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0252 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0252 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0252 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0252 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0252 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0252 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0252 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0252 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0252 _menhir_initp
      | DOT ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState0252 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0257 : 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 = MenhirState0257 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1419 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_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 = MenhirState1420 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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 _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 = MenhirState0259 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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 = MenhirState0261 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0263 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_BACKTICK (_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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1415 : 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 = MenhirState1416 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1410 : 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 = MenhirState1411 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1405 : 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 = MenhirState1406 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_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 = MenhirState1401 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_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 = MenhirState1396 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_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 = MenhirState1391 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_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 = MenhirState1386 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_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 = MenhirState1381 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_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 = MenhirState1347 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1339 : 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 = MenhirState1340 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0460 : 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 = MenhirState0460 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0040 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0051 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0461 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0464 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0514 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0520 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0522 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0051 : 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 MenhirState0051 _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 MenhirState0051 _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 MenhirState0051 _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 MenhirState0051 _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 MenhirState0051 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0051 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | STRING _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 MenhirState0051 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0051 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | RPAREN ->
          let _startpos_7 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_8 = _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_8, _startpos_7) 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_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | REAL _v_9 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0051 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | OPPREFIX _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 MenhirState0051 _menhir_initp
      | NAME _v_11 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0051 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | INT8 _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 MenhirState0051 _menhir_initp
      | INT64 _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 MenhirState0051 _menhir_initp
      | INT32 _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 MenhirState0051 _menhir_initp
      | INT16 _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 MenhirState0051 _menhir_initp
      | INT _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 MenhirState0051 _menhir_initp
      | IDENT _v_17 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0051 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | CHAR _v_18 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0051 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0051 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0461 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _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 MenhirState0461 _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 MenhirState0461 _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 MenhirState0461 _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 MenhirState0461 _menhir_initp
      | TVAR _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | TILDE _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | STRING _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | SIZET _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _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_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_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | REAL _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | OPPREFIX _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | NAME _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | INT8 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | INT64 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | INT32 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | INT16 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | INT _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | FORALL_OP _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | FORALL _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | EXISTS_OP _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | EXISTS _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | CHAR _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0461 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0461 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0464 : 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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _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 MenhirState0464 _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 MenhirState0464 _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 MenhirState0464 _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 MenhirState0464 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0464 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | STRING _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 MenhirState0464 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0464 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | RPAREN ->
          let _startpos_7 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_8 = _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_8, _startpos_7) 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
      | REIFY ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | REAL _v_9 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0464 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | NAME _v_10 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0464 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _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 MenhirState0464 _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 MenhirState0464 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | INT8 _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 MenhirState0464 _menhir_initp
      | INT64 _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 MenhirState0464 _menhir_initp
      | INT32 _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 MenhirState0464 _menhir_initp
      | INT16 _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 MenhirState0464 _menhir_initp
      | INT _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 MenhirState0464 _menhir_initp
      | IDENT _v_16 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0464 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _menhir_initp
      | CHAR _v_17 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0464 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0464 _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 _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 = MenhirState0202 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | FORALL _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_FORALL (_menhir_stack, MenhirState0144, _v, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0839 _menhir_initp
          | TVAR _v_2 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0839 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0839 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0839 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0839 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0839 _menhir_initp
          | IDENT _v_3 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0839 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0839 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0839 _menhir_initp
          | DOT ->
              let _v_4 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_4 MenhirState0839 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | EXISTS _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_EXISTS (_menhir_stack, MenhirState0144, _v, _startpos_5, _endpos_6) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | TVAR _v_7 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0845 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | IDENT _v_8 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0845 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0845 _menhir_initp
          | DOT ->
              let _v_9 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_6 _endpos_6 _v_9 MenhirState0845 _tok _menhir_initp
          | _ ->
              _eRR ())
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0144 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0144 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0198 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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_196 _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 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
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0398 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0398 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0398 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0398 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0398 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0398 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0398 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0398 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0398 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0398 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _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_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0398 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0398 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0398 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0398 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0398 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0398 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0398 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0398 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0398 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0398 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0398 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0398 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0398 _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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_195 () in
      _menhir_goto_ifMaybeOp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0200 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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 = MenhirState0200 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BAR ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0201 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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 = MenhirState0201 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0256 : 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 = MenhirState0256 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _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 _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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | FORALL _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_FORALL (_menhir_stack, MenhirState0275, _v, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0276 _menhir_initp
          | TVAR _v_2 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0276 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0276 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0276 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0276 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0276 _menhir_initp
          | IDENT _v_3 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0276 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0276 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0276 _menhir_initp
          | DOT ->
              let _v_4 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_4 MenhirState0276 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | EXISTS _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_EXISTS (_menhir_stack, MenhirState0275, _v, _startpos_5, _endpos_6) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | TVAR _v_7 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0737 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | IDENT _v_8 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0737 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | DOT ->
              let _v_9 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_6 _endpos_6 _v_9 MenhirState0737 _tok _menhir_initp
          | _ ->
              _eRR ())
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0275 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0275 _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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 = MenhirState0279 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _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 = MenhirState0280 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0281 : 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 = MenhirState0281 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0284 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_ATTRIBUTES (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0284 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0288 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_ASSUME (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0288 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0289 : 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 = MenhirState0289 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0514 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | TVAR _v_0 ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0514 _menhir_initp
      | RPAREN ->
          let _startpos_1 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_2 = _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_2, _startpos_1) in
          let _v = _menhir_action_105 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _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 MenhirState0514 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | IDENT _v_3 ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0514 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0514 _menhir_initp
      | DOT ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v_4 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_4 MenhirState0514 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
      | TVAR _v_0 ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0520 _menhir_initp
      | RPAREN ->
          let _startpos_1 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_2 = _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_2, _startpos_1) in
          let _v = _menhir_action_104 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _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 MenhirState0520 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
      | IDENT _v_3 ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0520 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
      | DOT ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v_4 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_4 MenhirState0520 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0322 : 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_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_0323 : 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_0324 : 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_0325 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_136 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0326 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_137 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0522 : 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_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
      | _ ->
          _eRR ()
  
  and _menhir_run_0547 : 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_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0547 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1202 : 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_680 x in
      _menhir_goto_typars _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1047 : 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 = MenhirState1048 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1043 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_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 = MenhirState1044 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_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 = MenhirState1039 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1033 : 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 = MenhirState1034 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1028 : 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 = MenhirState1029 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1023 : 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 = MenhirState1024 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1018 : 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 = MenhirState1019 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1013 : 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 = MenhirState1014 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1008 : 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 = MenhirState1009 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0251 : 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 = MenhirState0251 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0840 : 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 = MenhirState0841 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0828 : 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_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0829 _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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_674 () in
              _menhir_run_0730 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0829 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0730 : 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 MenhirState0730 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0730 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0730 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0730 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0730 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0730 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0730 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0730 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0730 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0730 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0730 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0730 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0730 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0730 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0730 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0730 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0730 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0730 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0730 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0730 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0730 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0730 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0730 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0730 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0730 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0730 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0730 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
      | _ ->
          _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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0772 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0747 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_bs_, _startpos_bs_, bs) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_546 _endpos_bs_ _startpos_bs_ bs in
      _menhir_goto_singleBinder _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_singleBinder : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0856 ->
          _menhir_run_0857 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0762 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0758 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0744 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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_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 = MenhirState0858 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 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 = MenhirState0763 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 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 = MenhirState0759 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 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 = MenhirState0745 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0738 : 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 = 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0516 : 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_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0517 _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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_674 () in
              _menhir_run_0518 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0517 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0518 : 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 MenhirState0518 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0518 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0518 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0518 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0518 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0518 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0518 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0518 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0518 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0518 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0518 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0518 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0518 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0518 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0518 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0518 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0518 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0518 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0518 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0518 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0518 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0518 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0518 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0518 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0518 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0518 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0518 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0518 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0277 : 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 = 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0253 : 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_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_674 () in
              _menhir_run_0255 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0254 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0255 : 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 MenhirState0255 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0255 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0255 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0255 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0255 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0255 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0255 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0255 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0255 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0255 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0255 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0255 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0255 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0255 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0255 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0255 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0255 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0255 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0255 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0255 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0255 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0255 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0255 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0255 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0255 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0255 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0255 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0255 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0249 : 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_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_674 () in
              _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _v_2 MenhirState0250 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0790 : 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 MenhirState0790 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0790 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0790 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0790 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0790 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0790 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0790 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0790 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0790 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0790 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0790 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0790 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0790 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0790 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0790 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0790 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0790 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0790 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0790 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0790 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0790 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0790 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0790 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0790 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0790 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0790 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0790 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0790 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_loption_separated_nonempty_list_COMMA_appTerm__ : 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 (xs, _endpos__3_, _startpos__3_) = (_v, _endpos, _startpos) in
      let _v = _menhir_action_399 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ xs 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_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0125 _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 | DEFAULT | DISJUNCTION | DOLLAR | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | TYPE | TYP_APP_GREATER | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN | WITH ->
          let _v_0 = _menhir_action_221 () in
          _menhir_run_0130 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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_DOT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0126 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0130 : 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_107 _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_0937 : 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_117 _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
      | MenhirState1461 ->
          _menhir_run_1458 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0000 ->
          _menhir_run_1458 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1459 ->
          _menhir_run_1458 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1455 ->
          _menhir_run_1458 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0943 ->
          _menhir_run_0656 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0656 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0656 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1458 : 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_178 x in
      _menhir_goto_decoration _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0656 : 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 = MenhirState0657 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | SQUIGGLY_RARROW ->
              _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              _menhir_reduce_140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_reduce_140 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp ->
      let _v = _menhir_action_140 () in
      _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0405 : 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 _v_0 ->
          let _startpos_1 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LET (_menhir_stack, _v_0, _startpos_1, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | REC ->
              _menhir_run_0088 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0406 _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_2 = _menhir_action_215 () in
              _menhir_run_0407 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState0406 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0407 : 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_letqualifier (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0407 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState0407 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0163 : 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 = MenhirState0163 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0165 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_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_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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0167 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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 = MenhirState0167 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0169 : 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 = MenhirState0169 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0963 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0963 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0963 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0963 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0963 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0963 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0963 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0963 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0963 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0963 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0963 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0963 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0963 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0963 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0963 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0963 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0963 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0963 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0963 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0963 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0963 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0963 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0963 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0963 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0569 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0569 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0569 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0569 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0569 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0569 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0569 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0569 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0569 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0569 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0569 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0569 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0569 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0569 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0569 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0569 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0569 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0569 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0569 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0569 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0569 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0569 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0569 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0569 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0559 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0559 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0559 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0559 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0559 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0559 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0559 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0559 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0559 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0559 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0559 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0559 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0559 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0559 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0559 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0559 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0559 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0559 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0559 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0559 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0559 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0559 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0559 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0559 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0445 : 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 MenhirState0445 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0445 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0445 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0445 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0445 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0445 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0445 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0445 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0445 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0445 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0445 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0445 _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0445 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0445 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0445 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0445 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0445 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0445 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0445 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0445 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0357 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0357 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0357 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0357 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0357 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0357 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0357 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0357 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0357 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0357 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0357 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0357 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0357 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0357 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0357 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0357 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0357 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0357 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0357 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0357 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0357 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0357 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0357 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0357 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0244 : 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_0147 _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
      | IDENT _v_0 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0244 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0221 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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 MenhirState0221 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0221 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0912 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, _v, _endpos_1) in
          let _v = _menhir_action_083 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0914 : 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_0916 : 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_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_pat_, _startpos_pat_, pat) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_170 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
      | MenhirState0085 ->
          _menhir_run_0952 _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 _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0952 : 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 _menhir_s = MenhirState0953 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON_COLON ->
          _menhir_run_0229 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0229 : 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 = MenhirState0229 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0230 : 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_0229 _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_168 _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_0225 : type  ttv_stack ttv_result. ttv_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 _menhir_s = MenhirState0226 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _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_0229 _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_521 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_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
      | MenhirState0953 ->
          _menhir_run_0954 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0227 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0954 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LENS_PAREN_LEFT, ttv_result) _menhir_cell1_constructorPattern -> _ -> _ -> _ -> _ -> _ -> 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 MenhirCell1_constructorPattern (_menhir_stack, _, pat0, _, _) = _menhir_stack in
          let MenhirCell1_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos__5_, pats) = (_endpos_1, _v) 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_0227 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_constructorPattern -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_constructorPattern (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_522 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_0209 : type  ttv_stack ttv_result. ttv_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_676 _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
      | MenhirState0907 ->
          _menhir_run_0906 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0906 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0902 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0638 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0625 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0625 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0625 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _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
      | MenhirState0464 ->
          _menhir_run_0466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0906 : type  ttv_stack ttv_result. ttv_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 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0907 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_535 x in
          _menhir_goto_separated_nonempty_list_SEMICOLON_tuplePattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_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
      | MenhirState0094 ->
          _menhir_run_0909 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0908 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0909 : 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 x = _v in
      let _v = _menhir_action_244 x in
      _menhir_goto_loption_separated_nonempty_list_SEMICOLON_tuplePattern__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
  
  and _menhir_goto_loption_separated_nonempty_list_SEMICOLON_tuplePattern__ : 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 (xs, _endpos__3_, _startpos__3_) = (_v, _endpos, _startpos) in
      let _v = _menhir_action_071 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ xs in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0908 : 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_536 x xs in
      _menhir_goto_separated_nonempty_list_SEMICOLON_tuplePattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0902 : 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_185 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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0904 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0904 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_477 () in
              _menhir_run_0905 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_478 x in
          _menhir_goto_right_flexible_list_SEMICOLON_fieldPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0905 : 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_479 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
      | MenhirState0904 ->
          _menhir_run_0905 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0100 : 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_0638 : 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 = MenhirState0638 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 = MenhirState0639 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0638 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0459 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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 = MenhirState0459 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0625 : 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 = MenhirState0627 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _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 ->
      let _menhir_stack = MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0466 _menhir_initp
      | AND_OP _ | EQUALS | IN ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0467 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0466 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0467 : 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 = MenhirState0468 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND_OP _ | IN ->
          let _v = _menhir_action_343 () 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_213 _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
      | MenhirState0508 ->
          _menhir_run_0509 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0507 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0507 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0507 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0507 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0509 : 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_0508 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0509 _menhir_initp
      | IN ->
          let _v_1 = _menhir_action_219 () in
          _menhir_run_0510 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0508 : 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 = MenhirState0508 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0510 : 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_220 _endpos_op_ _startpos_op_ b op xs in
      _menhir_goto_list___anonymous_11_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_list___anonymous_11_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_letoperatorbinding as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0507 ->
          _menhir_run_0511 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0509 ->
          _menhir_run_0510 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0511 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET_OP, ttv_result) _menhir_cell1_letoperatorbinding as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_list___anonymous_11_ (_menhir_stack, _menhir_s, _v) in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_IN (_menhir_stack, _endpos) in
      let _menhir_s = MenhirState0512 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _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 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_0508 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0507 _menhir_initp
      | IN ->
          let _v_1 = _menhir_action_219 () in
          _menhir_run_0511 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0507 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0207 : type  ttv_stack ttv_result. ttv_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 = MenhirState0208 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _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_497 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
      | MenhirState0986 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0231 _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 _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0231 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_pats_, _startpos_pats_, pats) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_181 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, MenhirState0233) in
          let _menhir_s = MenhirState0234 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | SQUIGGLY_RARROW ->
          _menhir_run_0793 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0233 _menhir_initp
      | RARROW ->
          _menhir_run_0794 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0233 _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0793 : 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_251 () 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
      | MenhirState0233 ->
          _menhir_run_0797 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0792 ->
          _menhir_run_0795 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0797 : 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 MenhirState0797 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0797 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0797 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0797 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0797 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0797 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0797 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0797 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0797 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0797 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0797 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0797 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0797 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0797 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0797 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0797 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0797 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0797 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0797 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0797 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0797 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0797 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0797 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0797 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0797 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0797 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0797 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0797 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0795 : 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 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
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0795 _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0795 _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0795 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0795 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0795 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0795 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0795 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | MATCH_OP _v_11 ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0795 _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LET_OP _v_12 ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0795 _menhir_initp
      | LET _v_13 ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0795 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | INT8 _v_14 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0795 _menhir_initp
      | INT64 _v_15 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0795 _menhir_initp
      | INT32 _v_16 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0795 _menhir_initp
      | INT16 _v_17 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0795 _menhir_initp
      | INT _v_18 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0795 _menhir_initp
      | IF_OP _v_19 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0795 _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | IDENT _v_20 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0795 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | FORALL_OP _v_21 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0795 _menhir_initp
      | FORALL _v_22 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0795 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | EXISTS_OP _v_23 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0795 _menhir_initp
      | EXISTS _v_24 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0795 _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | CHAR _v_25 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0795 _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0794 : 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_250 () in
      _menhir_goto_maybeFocusArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0210 : 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_498 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_1368 : 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 _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letqualifier (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1368 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState1368 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0942 : 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_letqualifier (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0942 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState0942 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1345 : type  ttv_stack ttv_result. ttv_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1345 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1345 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1345 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1345 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1345 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1345 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1345 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1345 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1345 _menhir_initp
      | EQUALS ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState1345 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1173 : 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_055 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 | TVAR _ | TYP_APP_LESS | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_367 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_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
      | MenhirState1516 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1358 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0904 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0711 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0306 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0332 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0113 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0097 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_ids_, _startpos_ids_, ids) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_404 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
      | MenhirState1358 ->
          _menhir_run_1366 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0711 ->
          _menhir_run_0712 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0678 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0678 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0678 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0678 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0678 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0678 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0306 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0332 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0120 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0904 ->
          _menhir_run_0102 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0095 ->
          _menhir_run_0102 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1366 : 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_440 _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_0712 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BACKTICK ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_BACKTICK (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (id, _endpos__3_) = (_v, _endpos_1) in
          let _v = _menhir_action_143 _endpos__3_ _startpos__1_ id in
          _menhir_goto_calcRel _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_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 = MenhirState0719 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | RBRACE ->
              let _v = _menhir_action_365 () in
              _menhir_goto_option_term_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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 = MenhirState0722 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0678 : 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
      | TYP_APP_LESS ->
          let _menhir_stack = MenhirCell1_qlident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0117 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0678 _menhir_initp
      | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
          let _menhir_stack = MenhirCell1_qlident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v = _menhir_action_357 () in
          _menhir_goto_option_fsTypeArgs_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _tok _menhir_initp
      | EQUALS | RBRACE | SEMICOLON ->
          let (_endpos_qid_, _startpos_qid_, qid) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_405 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_0117 : 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_TYP_APP_LESS (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0117 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option_fsTypeArgs_ : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_qlident -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_qlident (_menhir_stack, _menhir_s, id, _startpos_id_, _endpos_id_) = _menhir_stack in
      let (_endpos_targs_opt_, _startpos_targs_opt_, targs_opt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_402 _endpos_id_ _endpos_targs_opt_ _startpos_id_ _startpos_targs_opt_ id targs_opt in
      let (_endpos, _startpos) = (_endpos_targs_opt_, _startpos_id_) in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_393 e in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0663 : type  ttv_stack ttv_result. ttv_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_405 qid in
      _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_qid_ _startpos_qid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0127 : 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_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0127 _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 | DEFAULT | DISJUNCTION | DOLLAR | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | TYPE | TYP_APP_GREATER | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN | WITH ->
          let _v_0 = _menhir_action_221 () in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0128 : 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_222 id xs in
      _menhir_goto_list___anonymous_13_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list___anonymous_13_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0125 ->
          _menhir_run_0130 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0127 ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0120 : type  ttv_stack ttv_result. ttv_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_qlident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | TYP_APP_LESS ->
          _menhir_run_0117 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0120 _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 | DEFAULT | DISJUNCTION | DOLLAR | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | TYPE | TYP_APP_GREATER | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN | WITH ->
          let _v = _menhir_action_357 () in
          _menhir_goto_option_fsTypeArgs_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0102 : type  ttv_stack ttv_result. ttv_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 = MenhirState0103 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _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_186 _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_0098 : 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_368 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_1172 : 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_028 aq attrs id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1153 : 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_037 aq id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1131 : 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_046 attrs id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1112 : 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_055 id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1055 : type  ttv_stack ttv_result. ttv_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_193 x in
      _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  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
      | MenhirState1267 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1330 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1325 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1320 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1315 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1310 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1305 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1295 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_1293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1271 ->
          _menhir_run_1289 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1231 ->
          _menhir_run_1227 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1228 ->
          _menhir_run_1227 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_1227 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1446 ->
          _menhir_run_1056 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1051 ->
          _menhir_run_1056 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_1056 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1293 : type  ttv_stack ttv_result. ttv_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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1293 _menhir_initp
      | COMMA | RBRACE ->
          let _v_0 = _menhir_action_327 () in
          _menhir_run_1294 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1293 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1271 : 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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1271 _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_331 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OP_MIXFIX_ASSIGNMENT _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OP_MIXFIX_ACCESS _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _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_329 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OPINFIX4 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OPINFIX3 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OPINFIX2 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OPINFIX1 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OPINFIX0d _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OPINFIX0c _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OPINFIX0b _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _menhir_initp
          | OPINFIX0a _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1272 _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_332 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | 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_334 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1272 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1272 _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_336 _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_335 _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, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1272 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1272 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1272 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1272 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1271, _startpos, _endpos) in
              _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1272 _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_333 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1271 _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
      | MenhirState1328 ->
          _menhir_run_1329 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1323 ->
          _menhir_run_1324 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1318 ->
          _menhir_run_1319 _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
      | MenhirState1308 ->
          _menhir_run_1309 _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
      | MenhirState1298 ->
          _menhir_run_1299 _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
      | MenhirState1270 ->
          _menhir_run_1290 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1329 : 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 _menhir_s = MenhirState1330 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_501 op renamed in
          _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1268 : 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, MenhirState1268, _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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1270 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_4 = _menhir_action_327 () in
                  _menhir_run_1290 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1270 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _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, MenhirState1268, _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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1298 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_9 = _menhir_action_327 () in
                  _menhir_run_1299 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1298 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OPINFIX3 _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1268 _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, MenhirState1268, _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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1303 _menhir_initp
              | COMMA | RBRACE ->
                  let _v = _menhir_action_327 () in
                  _menhir_run_1304 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1303 _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, MenhirState1268, _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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1308 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_18 = _menhir_action_327 () in
                  _menhir_run_1309 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1308 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | IMPLIES ->
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1268 _menhir_initp
      | IFF ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1268 _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, MenhirState1268, _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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1313 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_23 = _menhir_action_327 () in
                  _menhir_run_1314 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState1313 _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, MenhirState1268, _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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1318 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_28 = _menhir_action_327 () in
                  _menhir_run_1319 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState1318 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | EQUALS ->
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1268 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1268 _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1268 _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1268 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1268 _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, MenhirState1268, _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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1323 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_33 = _menhir_action_327 () in
                  _menhir_run_1324 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1323 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1290 : 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 _menhir_s = MenhirState1291 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_502 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_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
      | MenhirState1267 ->
          _menhir_run_1332 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1330 ->
          _menhir_run_1331 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1325 ->
          _menhir_run_1326 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1320 ->
          _menhir_run_1321 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1315 ->
          _menhir_run_1316 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1310 ->
          _menhir_run_1311 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1305 ->
          _menhir_run_1306 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1301 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1295 ->
          _menhir_run_1296 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1291 ->
          _menhir_run_1292 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1332 : 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 x = _v in
      let _v = _menhir_action_238 x in
      _menhir_goto_loption_separated_nonempty_list_COMMA___anonymous_1__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
  
  and _menhir_goto_loption_separated_nonempty_list_COMMA___anonymous_1__ : 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 (xs, _endpos__3_) = (_v, _endpos) in
      let _v = _menhir_action_469 xs 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
      | MenhirState1425 ->
          _menhir_run_1426 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1266 ->
          _menhir_run_1335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1426 : 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_437 r uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1335 : 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_435 r uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1331 : 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_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_510 op renamed xs in
      _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1326 : 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_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_513 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1321 : 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_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_515 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_separated_nonempty_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_FORALL_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_516 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_separated_nonempty_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_LET_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_514 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_separated_nonempty_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_MINUS _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_512 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_separated_nonempty_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_OPPREFIX _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_509 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_separated_nonempty_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_ident, ttv_result) _menhir_cell1_option___anonymous_0_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_508 id renamed xs in
      _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1292 : 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_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      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_511 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1299 : 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 _menhir_s = MenhirState1300 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_500 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_separated_nonempty_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_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 _menhir_s = MenhirState1305 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_503 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_separated_nonempty_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_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 _menhir_s = MenhirState1310 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_505 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_separated_nonempty_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_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 _menhir_s = MenhirState1315 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_507 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1319 : 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 _menhir_s = MenhirState1320 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_506 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1324 : 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 _menhir_s = MenhirState1325 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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_504 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_separated_nonempty_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_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 _menhir_s = MenhirState1295 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell1_ident (_menhir_stack, _menhir_s, id, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_499 id renamed in
          _menhir_goto_separated_nonempty_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1289 : 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_328 id in
      _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1227 : type  ttv_stack ttv_result. ttv_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 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1228 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_533 x in
          _menhir_goto_separated_nonempty_list_SEMICOLON_ident_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_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
      | MenhirState1228 ->
          _menhir_run_1229 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1231 ->
          _menhir_run_1223 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState1222 ->
          _menhir_run_1223 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1229 : 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_534 x xs in
      _menhir_goto_separated_nonempty_list_SEMICOLON_ident_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1223 : type  ttv_stack ttv_result. (ttv_stack _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 x = _v in
      let _v = _menhir_action_242 x in
      _menhir_goto_loption_separated_nonempty_list_SEMICOLON_ident__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_loption_separated_nonempty_list_SEMICOLON_ident__ : type  ttv_stack ttv_result. (ttv_stack _menhir_cell0_LBRACK 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
      | MenhirState1231 ->
          _menhir_run_1232 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState1222 ->
          _menhir_run_1224 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1232 : 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_loption_separated_nonempty_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 = MenhirState1233 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1224 : 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_loption_separated_nonempty_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 = MenhirState1225 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1056 : type  ttv_stack ttv_result. ttv_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | TYP_APP_LESS ->
          _menhir_run_1057 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1056 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1056 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1056 _menhir_initp
      | AND | ASSUME | BLOB _ | CLASS | COLON | DEFAULT | 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_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_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState1056 _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_ident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | LPAREN ->
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | INT _v_0 ->
          _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0185 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0185 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0176 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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_111 _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_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0188 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0191 : 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_699 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
      | MenhirState0303 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _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
      | MenhirState0671 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _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_universe (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0175 _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
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0672 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0672 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0672 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0672 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0672 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0672 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | LBRACE ->
          _menhir_run_0304 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0672 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0672 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0672 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0672 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0672 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0672 _menhir_initp
      | HASH ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0672 _menhir_initp
      | FORALL _v_17 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0672 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | EXISTS_OP _v_18 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0672 _menhir_initp
      | EXISTS _v_19 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0672 _menhir_initp
      | CHAR _v_20 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0672 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_21 = _menhir_action_013 () in
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_21 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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 = MenhirState0175 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _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 _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 = MenhirState0177 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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_112 _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_run_0304 : 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 = MenhirState0304 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0668 : 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 = MenhirState0668 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _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 = MenhirState0669 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0676 : 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_012 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
      | MenhirState0303 ->
          _menhir_run_0686 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0685 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0684 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0675 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0686 : 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_005 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
      | MenhirState0935 ->
          _menhir_run_0934 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0934 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0787 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0787 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0787 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0934 : type  ttv_stack ttv_result. ttv_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 _menhir_s = MenhirState0935 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _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_COMMA_appTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_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
      | MenhirState0935 ->
          _menhir_run_0936 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0931 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0936 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_appTerm -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_appTerm (_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_COMMA_appTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0931 : 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 x = _v in
      let _v = _menhir_action_240 x in
      _menhir_goto_loption_separated_nonempty_list_COMMA_appTerm__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
  
  and _menhir_run_0787 : type  ttv_stack ttv_result. ttv_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 = MenhirState0788 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION | RBRACE ->
          let x = _v in
          let _v = _menhir_action_529 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
      | MenhirState0788 ->
          _menhir_run_0789 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0789 : 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_530 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_0780 : 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_146 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 = MenhirState0785 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_527 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
      | MenhirState0785 ->
          _menhir_run_0786 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0781 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0786 : 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_528 x xs in
      _menhir_goto_separated_nonempty_list_DISJUNCTION_conjunctivePat_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0781 : 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_180 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_675 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
      | MenhirState0250 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0730 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0730 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0730 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0517 ->
          _menhir_run_0518 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0255 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0255 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0254 ->
          _menhir_run_0255 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0679 : 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 = MenhirState0680 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0307 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0307 : 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_408 _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_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0307 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0307 _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_406 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0307 _menhir_initp
      | OPINFIX3 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0307 _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 MenhirState0307 _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 MenhirState0307 _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 MenhirState0307 _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 MenhirState0307 _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 MenhirState0307 _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 MenhirState0307 _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_409 _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_411 _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_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0307 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0307 _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_413 _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_412 _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_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0307 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0307 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0307 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0307 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0307 _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_410 _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_0345 : type  ttv_stack ttv_result. ttv_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_670 e in
      _menhir_goto_tmRefinement _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _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_664 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_667 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
      | MenhirState1438 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0543 _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
      | MenhirState0538 ->
          _menhir_run_0539 _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
      | MenhirState0534 ->
          _menhir_run_0535 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0533 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0533 _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
      | MenhirState0266 ->
          _menhir_run_0267 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0265 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0548 : type  ttv_stack ttv_result. ttv_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_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | COLON_COLON ->
          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
      | BACKTICK ->
          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
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0540 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AND | AND_OP _ | ASSUME | BAR_RBRACE | BLOB _ | BY | CLASS | DEFAULT | 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_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_648 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_0266 : 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 = MenhirState0266 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _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_OPINFIX3 (_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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _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 _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 = MenhirState0538 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _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_BACKTICK (_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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0540 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _menhir_s = MenhirState0540 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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
      | MenhirState1438 ->
          _menhir_run_1439 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0575 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0570 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0564 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0560 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0556 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0549 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0544 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1439 : 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_201 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_460 ne in
          _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0575 : 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 = MenhirState0577 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0570 : 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 = MenhirState0572 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0564 : 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 = MenhirState0565 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0560 : 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 = MenhirState0561 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0556 : 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 = MenhirState0557 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0552 : type  ttv_stack ttv_result. ttv_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 = MenhirState0553 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND | AND_OP _ | ASSUME | BLOB _ | BY | CLASS | DEFAULT | 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_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_603 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
      | MenhirState1340 ->
          _menhir_run_1341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_1065 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0579 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0578 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0573 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0568 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0566 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0562 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0558 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0554 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1341 : 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 = MenhirState1342 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1065 : 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_200 t in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let k = _v in
      let _v = _menhir_action_068 k in
      let x = _v in
      let _v = _menhir_action_352 x in
      _menhir_goto_option_ascribeKind_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
  
  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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1068 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1068 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1068 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1068 _menhir_initp
          | TVAR _v_4 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1068 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | TILDE _v_5 ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1068 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1068 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1068 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState1068 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1068 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState1068 _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | LBRACE ->
              let _menhir_s = MenhirState1068 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 = MenhirState1069 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
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_1070 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | INT8 _v_34 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1068 _menhir_initp
          | INT64 _v_35 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1068 _menhir_initp
          | INT32 _v_36 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1068 _menhir_initp
          | INT16 _v_37 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1068 _menhir_initp
          | INT _v_38 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1068 _menhir_initp
          | IDENT _v_39 ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState1068 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | FORALL_OP _v_40 ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_40 MenhirState1068 _menhir_initp
          | FORALL _v_41 ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_41 MenhirState1068 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | EXISTS_OP _v_42 ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_42 MenhirState1068 _menhir_initp
          | EXISTS _v_43 ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_43 MenhirState1068 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | CHAR _v_44 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_44 MenhirState1068 _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | BAR ->
              _menhir_run_1174 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1068 _menhir_initp
          | AND | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_45 = _menhir_action_231 () in
              _menhir_run_1192 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_45 _tok _menhir_initp
          | _ ->
              _eRR ())
      | AND | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_682 () in
          _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1070 : 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 MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _menhir_initp
      | TVAR _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | TRY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _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, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | UINT8 _v_2 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1071 _menhir_initp
          | UINT64 _v_3 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1071 _menhir_initp
          | UINT32 _v_4 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1071 _menhir_initp
          | UINT16 _v_5 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1071 _menhir_initp
          | TVAR _v_6 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1071 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | STRING _v_7 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1071 _menhir_initp
          | SIZET _v_8 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState1071 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | RPAREN ->
              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
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_1, _startpos_0, _v) 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 | TVAR _ | 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_10, _startpos_9) 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_1, _startpos_0, _v, _endpos_10) in
                  let _v = _menhir_action_408 _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, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | REAL _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState1071 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | OPPREFIX _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState1071 _menhir_initp
          | NAME _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1071 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | INT8 _v_14 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1071 _menhir_initp
          | INT64 _v_15 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1071 _menhir_initp
          | INT32 _v_16 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1071 _menhir_initp
          | INT16 _v_17 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1071 _menhir_initp
          | INT _v_18 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1071 _menhir_initp
          | IDENT _v_19 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1071 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | CHAR _v_20 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1071 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1070, _v, _startpos_0, _endpos_1) in
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1071 _menhir_initp
          | _ ->
              _eRR ())
      | SYNTH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | STRING _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | SIZET _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | REQUIRES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | REAL _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | OPPREFIX _v ->
          let _startpos_21 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_22 = _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, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | UINT8 _v_23 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState1073 _menhir_initp
          | UINT64 _v_24 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState1073 _menhir_initp
          | UINT32 _v_25 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState1073 _menhir_initp
          | UINT16 _v_26 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState1073 _menhir_initp
          | TVAR _v_27 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState1073 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | STRING _v_28 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState1073 _menhir_initp
          | SIZET _v_29 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState1073 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | RPAREN ->
              let _startpos_30 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_31 = _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_22, _startpos_21, _v) in
                  let _v = _menhir_action_056 _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 | TVAR _ | 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_22, _startpos_21, _v, _endpos_31, _startpos_30) 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_22, _startpos_21, _v, _endpos_31) in
                  let _v = _menhir_action_406 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | REAL _v_32 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1073 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | OPPREFIX _v_33 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1073 _menhir_initp
          | NAME _v_34 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1073 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | INT8 _v_35 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1073 _menhir_initp
          | INT64 _v_36 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1073 _menhir_initp
          | INT32 _v_37 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1073 _menhir_initp
          | INT16 _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1073 _menhir_initp
          | INT _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState1073 _menhir_initp
          | IDENT _v_40 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_40 MenhirState1073 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | CHAR _v_41 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_41 MenhirState1073 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1070, _v, _startpos_21, _endpos_22) in
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1073 _menhir_initp
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | OPINFIX3 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _menhir_initp
      | NAME _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | MINUS ->
          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
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | UINT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | UINT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | UINT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | UINT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | TVAR _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | TILDE _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | STRING _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | SIZET _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | RPAREN ->
              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
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_43, _startpos_42, ()) 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 | TVAR _ | 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_43, _startpos_42, (), _endpos_45, _startpos_44) 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_43, _startpos_42, (), _endpos_45) in
                  let _v = _menhir_action_409 _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, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | REAL _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | QUOTE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | OPPREFIX _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | NAME _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | INT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | INT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | INT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | INT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | INT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | IDENT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | FUN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | FORALL_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | FORALL _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | EXISTS_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | EXISTS _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | CHAR _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1075 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | BACKTICK_HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | BACKTICK_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | BACKTICK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1070, _startpos_42, _endpos_43) in
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | _ ->
              _eRR ())
      | MATCH_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | MATCH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | LET_OP _v ->
          let _startpos_46 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_47 = _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, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | UINT8 _v_48 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_48 MenhirState1077 _menhir_initp
          | UINT64 _v_49 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_49 MenhirState1077 _menhir_initp
          | UINT32 _v_50 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_50 MenhirState1077 _menhir_initp
          | UINT16 _v_51 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState1077 _menhir_initp
          | TVAR _v_52 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_52 MenhirState1077 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | STRING _v_53 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_53 MenhirState1077 _menhir_initp
          | SIZET _v_54 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState1077 _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, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | RPAREN ->
              let _startpos_55 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_56 = _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_47, _startpos_46, _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 | TVAR _ | 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_47, _startpos_46, _v, _endpos_56, _startpos_55) 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_47, _startpos_46, _v, _endpos_56) in
                  let _v = _menhir_action_411 _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, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | REAL _v_57 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_57 MenhirState1077 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | NAME _v_58 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState1077 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _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, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _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, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | INT8 _v_59 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_59 MenhirState1077 _menhir_initp
          | INT64 _v_60 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_60 MenhirState1077 _menhir_initp
          | INT32 _v_61 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState1077 _menhir_initp
          | INT16 _v_62 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState1077 _menhir_initp
          | INT _v_63 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_63 MenhirState1077 _menhir_initp
          | IDENT _v_64 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_64 MenhirState1077 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | CHAR _v_65 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_65 MenhirState1077 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1070, _v, _startpos_46, _endpos_47) in
              _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1077 _menhir_initp
          | _ ->
              _eRR ())
      | LET _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _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 MenhirState1070 _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 MenhirState1070 _menhir_initp
      | LBRACK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | INTRO ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | INT8 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | INT64 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | INT32 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | INT16 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | INT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | IF_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | IF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | FUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | FORALL_OP _v ->
          let _startpos_66 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_67 = _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, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
          | TVAR _v_68 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_68 MenhirState1079 _menhir_initp
          | RPAREN ->
              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
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_67, _startpos_66, _v) in
                  let _v = _menhir_action_063 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS _ | EXISTS_OP _ | FALSE | FORALL _ | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | TVAR _ | 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_67, _startpos_66, _v, _endpos_70, _startpos_69) in
                  let _v = _menhir_action_105 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_67, _startpos_66, _v, _endpos_70) in
                  let _v = _menhir_action_413 _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, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _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, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
          | IDENT _v_71 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_71 MenhirState1079 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1070, _v, _startpos_66, _endpos_67) in
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1070, _v, _startpos_66, _endpos_67) in
              let _v_72 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_67 _endpos_67 _v_72 MenhirState1079 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FORALL _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | EXISTS_OP _v ->
          let _startpos_73 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_74 = _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, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1081 _menhir_initp
          | TVAR _v_75 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_75 MenhirState1081 _menhir_initp
          | RPAREN ->
              let _startpos_76 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_77 = _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_74, _startpos_73, _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 | TVAR _ | 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_74, _startpos_73, _v, _endpos_77, _startpos_76) in
                  let _v = _menhir_action_104 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_74, _startpos_73, _v, _endpos_77) in
                  let _v = _menhir_action_412 _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, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1081 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1081 _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, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1081 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1081 _menhir_initp
          | IDENT _v_78 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_78 MenhirState1081 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1081 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1070, _v, _startpos_73, _endpos_74) in
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1081 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1070, _v, _startpos_73, _endpos_74) in
              let _v_79 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_74 _endpos_74 _v_79 MenhirState1081 _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | ENSURES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | ELIM ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | DECREASES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | CHAR _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1070 _menhir_initp
      | CALC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | ATTRIBUTES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | ASSUME ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | ASSERT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
      | AND_OP _v ->
          let _startpos_80 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_81 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_82 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_83 = _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_81, _startpos_80, _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 | TVAR _ | 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_81, _startpos_80, _v, _endpos_83, _startpos_82) 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_81, _startpos_80, _v, _endpos_83) in
                  let _v = _menhir_action_410 _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_1174 : 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 = MenhirState1174 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0037 _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_1192 : 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_686 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_681 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
      | MenhirState1446 ->
          _menhir_run_1447 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_1052 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1051 ->
          _menhir_run_1052 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1447 : 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_687 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_177 _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_1052 : 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 = MenhirState1053 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_495 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
      | MenhirState1051 ->
          _menhir_run_1203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1053 ->
          _menhir_run_1054 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1203 : 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_442 tcdefs in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tcdefs_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1054 : 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_496 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_0579 : 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 = MenhirState0580 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND_OP _ | EQUALS | IN ->
          let _v = _menhir_action_345 () in
          _menhir_goto_option___anonymous_7_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_7_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_COLON, ttv_result) _menhir_cell1_tmArrow_tmNoEq_ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_tmArrow_tmNoEq_ (_menhir_stack, _, t, _, _) = _menhir_stack in
      let MenhirCell1_COLON (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tacopt_, tacopt) = (_endpos, _v) in
      let _v = _menhir_action_069 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
      | MenhirState0638 ->
          _menhir_run_0641 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0645 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0458 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0466 ->
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0641 : 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 = MenhirState0642 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0506 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_354 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
      | MenhirState0645 ->
          _menhir_run_0646 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0635 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0621 ->
          _menhir_run_0622 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0616 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0610 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0603 ->
          _menhir_run_0604 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0597 ->
          _menhir_run_0598 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0591 ->
          _menhir_run_0592 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0458 ->
          _menhir_run_0586 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0466 ->
          _menhir_run_0467 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0647 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0635 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_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 = MenhirState0636 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0623 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0617 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0611 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0605 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0599 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0593 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _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_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0587 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0578 : 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_597 _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_0573 : 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_596 _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_0568 : 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_598 _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_0567 : 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_595 _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_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_602 _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_0562 : 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_601 _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_0558 : 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_600 _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_0554 : 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_599 _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_0549 : 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 = MenhirState0551 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0544 : 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 = MenhirState0546 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0543 : 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_0266 _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 | DEFAULT | 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 _ | OPINFIX3 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_660 _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_0541 : 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_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0534 _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_0536 _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_0540 _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 | DEFAULT | 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_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_658 _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_0539 : 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_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | COLON_COLON ->
          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
      | BACKTICK ->
          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
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0540 _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 | DEFAULT | 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_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_657 _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_0537 : 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_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0538 _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 = MenhirState0542 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP ->
          _menhir_run_0540 _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_OPINFIX3 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_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | BACKTICK ->
          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
      | AMP | AND | AND_OP _ | AS | ASSUME | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_OPINFIX3 (_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_659 _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_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_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | COLON_COLON ->
          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
      | BACKTICK ->
          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
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0540 _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_641 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_648 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_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
      | MenhirState0044 ->
          _menhir_run_0976 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0702 _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
      | MenhirState0697 ->
          _menhir_run_0698 _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
      | MenhirState0693 ->
          _menhir_run_0694 _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
      | MenhirState0689 ->
          _menhir_run_0690 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0688 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0463 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0463 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0463 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0463 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0302 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0300 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0976 : 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_637 _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_0777 : 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_638 _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_0702 : 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_0297 _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_0299 _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_0301 _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_0687 _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_0691 _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_0693 _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_0695 _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_0699 _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_0689 _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_0697 _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 | DEFAULT | 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 | OPINFIX3 _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_626 _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_0297 : 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 = MenhirState0297 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0299 : 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 = MenhirState0299 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0301 : 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 = MenhirState0301 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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 _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 = MenhirState0687 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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_OPINFIX0d (_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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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_OPINFIX0c (_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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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 _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 = MenhirState0695 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0699 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_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 = MenhirState0699 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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 _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 = MenhirState0689 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _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 _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 = MenhirState0697 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0700 : 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_0297 _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_0299 _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_0301 _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_0687 _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_0691 _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_0693 _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_0695 _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_0689 _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_0697 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_629 _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_0698 : 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_0297 _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_0299 _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_0301 _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_0687 _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_0691 _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_0689 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_625 _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_0696 : 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_0297 _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_0299 _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_0301 _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_0687 _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_0691 _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_0693 _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_0689 _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_0697 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_630 _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_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_0297 _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_0299 _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_0301 _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_0687 _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_0691 _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_0689 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_631 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0692 : 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_0297 _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_0299 _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_0301 _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_0687 _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_0689 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_632 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0690 : 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_635 _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_0688 : 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_0301 _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_0687 _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_0689 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_633 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0463 : 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_636 _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_0302 : 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_634 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0300 : 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_0299 _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_0301 _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_0687 _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_0689 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_627 _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_0298 : 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_0299 _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_0301 _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_0687 _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_0689 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_628 _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_0296 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0297 _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_0299 _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_0301 _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_0687 _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_0691 _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_0693 _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_0695 _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_0699 _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_0689 _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_0697 _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 = MenhirState0701 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 | OPINFIX3 _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_606 e in
          _menhir_goto_tmEq _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _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
      | MenhirState0042 ->
          _menhir_run_0977 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0977 : 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 _menhir_s = MenhirState0978 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0341 : type  ttv_stack ttv_result. ttv_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 _menhir_s = MenhirState0342 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_523 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
      | MenhirState0978 ->
          _menhir_run_0979 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0349 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0349 _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 _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0979 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LENS_PAREN_LEFT, ttv_result) _menhir_cell1_tmEq -> _ -> _ -> _ -> _ -> _ -> 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 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_106 _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_0349 : type  ttv_stack ttv_result. ttv_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_671 _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
      | MenhirState0866 ->
          _menhir_run_0867 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0767 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0348 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0867 : 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 = MenhirState0868 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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_604 _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_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
      | MenhirState0144 ->
          _menhir_run_0865 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0861 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0765 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0754 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0362 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0865 : 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 = MenhirState0866 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_643 e in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _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
      | MenhirState0968 ->
          _menhir_run_0969 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0964 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0959 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0895 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0855 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0853 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0792 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0750 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0748 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0364 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0364 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0358 _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
      | MenhirState1195 ->
          _menhir_run_0354 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0354 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0354 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _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
      | MenhirState1176 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0969 : 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 = MenhirState0969 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 = MenhirState0971 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0969 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0969 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0365 : 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 = MenhirState0365 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0361 : 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 = MenhirState0361 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0964 : 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 = MenhirState0964 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 = MenhirState0966 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0359 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0964 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0964 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0359 : 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 = MenhirState0359 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0959 : 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 = MenhirState0959 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 = MenhirState0961 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0355 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0959 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0959 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0355 : 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 = MenhirState0355 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0895 : 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_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0895 _menhir_initp
      | BAR_RBRACE ->
          let _menhir_s = MenhirState0895 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 = MenhirState0897 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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, MenhirState0855, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0856 _menhir_initp
          | TVAR _v_1 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0856 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0856 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0856 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0856 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0856 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0856 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0856 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0856 _menhir_initp
          | DOT ->
              let _v_3 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_3 MenhirState0856 _tok _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0855 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0853 : 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 = MenhirState0853 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 = MenhirState0854 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          let _menhir_s = MenhirState0853 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 = MenhirState0860 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0792 : 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_0793 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0792 _menhir_initp
      | RARROW ->
          _menhir_run_0794 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0792 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0792 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0750 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_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 = MenhirState0750 in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_WITH (_menhir_stack, _menhir_s, _endpos) in
          let _menhir_s = MenhirState0751 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0750 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0748 : 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 = MenhirState0748 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 = MenhirState0749 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          let _menhir_s = MenhirState0748 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 = MenhirState0753 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0364 : 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_0365 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0364 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0364 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0358 : 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_0359 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0358 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0358 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0354 : 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_0355 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0354 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0354 _menhir_initp
      | _ ->
          _eRR ()
  
  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
      | RARROW ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0294 in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_RARROW (_menhir_stack, _menhir_s, _endpos) in
          let _menhir_s = MenhirState0295 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_0361 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0294 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_594 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_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
      | MenhirState0971 ->
          _menhir_run_0972 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0967 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0962 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0898 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0703 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0366 _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
      | MenhirState0355 ->
          _menhir_run_0356 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0972 : 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_588 _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_0967 : 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_587 _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_0962 : 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_589 _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_0898 : 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_586 _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_0703 : 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_590 _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_0366 : 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_593 _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_0360 : 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_592 _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_0356 : 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_591 _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_0350 : type  ttv_stack ttv_result. ttv_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 = MenhirState0351 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_647 e in
          _menhir_goto_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
      | MenhirState0351 ->
          _menhir_run_0352 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0291 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0352 : 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_646 _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_0291 : type  ttv_stack ttv_result. ttv_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 = MenhirState0292 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_645 e in
          _menhir_goto_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
      | MenhirState1443 ->
          _menhir_run_1444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_1432 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_1421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_1417 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_1412 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_1407 _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
      | MenhirState1396 ->
          _menhir_run_1397 _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
      | MenhirState1386 ->
          _menhir_run_1387 _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
      | MenhirState1353 ->
          _menhir_run_1354 _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
      | MenhirState1262 ->
          _menhir_run_1263 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_1252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_1220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_1216 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_1212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_1191 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_1185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_1182 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_1177 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_1134 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_1049 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_1045 _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
      | MenhirState1034 ->
          _menhir_run_1035 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_1030 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_1025 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_1020 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_1015 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_1010 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0973 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0778 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0729 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0706 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0529 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0388 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0385 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0340 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0340 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1444 : 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_443 e tparams uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1432 : 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_340 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_457 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_1421 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_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_689 _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_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_691 _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_1412 : 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_694 _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_1407 : 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_696 _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_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_697 _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_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_695 _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_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_693 _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_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_690 _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_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_692 _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_1354 : 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_184 e lid in
      let _endpos = _endpos_e_ in
      let (_endpos_ed_, ed) = (_endpos, _v) in
      let _v = _menhir_action_257 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_458 ne in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1348 : 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_182 _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 = MenhirState1350 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_531 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
      | MenhirState1350 ->
          _menhir_run_1351 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1342 ->
          _menhir_run_1343 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1351 : 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_532 x xs in
      _menhir_goto_separated_nonempty_list_SEMICOLON_effectDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1343 : 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_183 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
      | MenhirState1373 ->
          _menhir_run_1374 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1336 ->
          _menhir_run_1357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1374 : 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_459 ne in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1357 : 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_258 ed in
      _menhir_goto_newEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ed_ _v _tok _menhir_initp
  
  and _menhir_run_1263 : 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, 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 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_377 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_462 b in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_b_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1252 : 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_378 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_463 c in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1220 : 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_574 e src_eff tgt_eff in
      _menhir_goto_subEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
  
  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_461 se in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_se_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1216 : 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_576 _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_1212 : 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 = MenhirState1215 in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | UINT8 _v ->
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT64 _v ->
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT32 _v ->
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT16 _v ->
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | TVAR _v ->
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | TRUE ->
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | TILDE _v ->
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | STRING _v ->
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SIZET _v ->
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SET_RANGE_OF ->
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | SEQ_BANG_LBRACK ->
                      _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REIFY ->
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REAL _v ->
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | RANGE_OF ->
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | QUOTE ->
                      _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | PERCENT_LBRACK ->
                      _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | MINUS ->
                      _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN_RPAREN ->
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN ->
                      _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LENS_PAREN_LEFT ->
                      _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE_BAR ->
                      _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE ->
                      _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | INT8 _v ->
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT64 _v ->
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT32 _v ->
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT16 _v ->
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT _v ->
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | IDENT _v ->
                      _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | HASH ->
                      _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FUN ->
                      _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FORALL_OP _v ->
                      _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | FORALL _v ->
                      _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | FALSE ->
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | EXISTS_OP _v ->
                      _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | EXISTS _v ->
                      _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | DOLLAR ->
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | CHAR _v ->
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | BEGIN ->
                      _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BANG_LBRACE ->
                      _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_PERC ->
                      _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_HASH ->
                      _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_AT ->
                      _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK ->
                      _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RBRACE ->
          let _endpos_29 = _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_29) in
          let _v = _menhir_action_575 _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_run_1191 : 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_683 e in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
  
  and _menhir_run_1185 : 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_171 e 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_356 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
      | MenhirState1189 ->
          _menhir_run_1190 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1175 ->
          _menhir_run_1186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1190 : 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_167 payload uid x 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_1174 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1193 _menhir_initp
      | AND | ASSUME | BLOB _ | CLASS | DEFAULT | 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_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v_0 = _menhir_action_231 () in
          _menhir_run_1194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1194 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_constructorDecl -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_constructorDecl (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_232 x xs in
      _menhir_goto_list_constructorDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list_constructorDecl_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1193 ->
          _menhir_run_1194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_1192 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1186 : 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_166 payload uid 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_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_342 e in
      _menhir_goto_option___anonymous_3_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
  
  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_173 opt record_field_decls in
      _menhir_goto_constructorPayload _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1177 : 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_172 e in
      _menhir_goto_constructorPayload _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1134 : 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_467 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
      | MenhirState1110 ->
          _menhir_run_1109 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1090 ->
          _menhir_run_1109 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_1089 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1178 ->
          _menhir_run_1089 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_1089 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1109 : 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_1091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1110 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1110 _menhir_initp
          | IDENT _v_0 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1110 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1110 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1110 _menhir_initp
          | RBRACE ->
              let _v_1 = _menhir_action_483 () in
              _menhir_run_1111 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_484 x in
          _menhir_goto_right_flexible_list_SEMICOLON_recordFieldDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1091 : 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_058 _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_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1091 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1091 _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_056 _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_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1091 _menhir_initp
      | OPINFIX3 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1091 _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 MenhirState1091 _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 MenhirState1091 _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 MenhirState1091 _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 MenhirState1091 _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 MenhirState1091 _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 MenhirState1091 _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_059 _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_061 _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_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1091 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1091 _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_063 _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_062 _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_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1091 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1091 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1091 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1091 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1091 _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_060 _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_1111 : 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_485 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
      | MenhirState1110 ->
          _menhir_run_1111 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1090 ->
          _menhir_run_1108 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1108 : 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_490 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
      | MenhirState1196 ->
          _menhir_run_1197 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1178 ->
          _menhir_run_1179 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState1069 ->
          _menhir_run_1087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1197 : 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_685 record_field_decls x in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _tok _menhir_initp
  
  and _menhir_run_1179 : 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 = MenhirState1181 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND | ASSUME | BAR | BLOB _ | CLASS | DEFAULT | 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_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_341 () in
          _menhir_goto_option___anonymous_3_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1087 : 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_684 record_field_decls in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _tok _menhir_initp
  
  and _menhir_run_1089 : 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_1091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1090 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1090 _menhir_initp
          | IDENT _v_0 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1090 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1090 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1090 _menhir_initp
          | RBRACE ->
              let _v_1 = _menhir_action_483 () in
              _menhir_run_1108 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_489 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_1049 : 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_446 _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_1045 : 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_448 _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_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_451 _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_1035 : 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_453 _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_1030 : 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_454 _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_1025 : 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_452 _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_1020 : 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_450 _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_1015 : 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_447 _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_1010 : 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_449 _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_0973 : 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_268 _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_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
      | MenhirState1000 ->
          _menhir_run_1001 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0871 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0869 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0864 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0859 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0852 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0848 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0844 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0842 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0774 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0773 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0769 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0764 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0760 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0756 _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 _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0746 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0742 _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
      | MenhirState0278 ->
          _menhir_run_0732 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0727 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0723 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0709 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0708 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0704 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0498 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0493 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0475 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0404 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0399 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0395 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0372 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1001 : 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_174 _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_0949 : type  ttv_stack ttv_result. ttv_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 MenhirState0950 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0950 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0950 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0950 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0950 _menhir_initp
          | TVAR _v_5 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0950 _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | TILDE _v_6 ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0950 _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | STRING _v_7 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0950 _menhir_initp
          | SIZET _v_8 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0950 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | REAL _v_9 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0950 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | OPPREFIX _v_10 ->
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0950 _menhir_initp
          | NAME _v_11 ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0950 _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | MATCH_OP _v_12 ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0950 _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LET_OP _v_13 ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0950 _menhir_initp
          | LET _v_14 ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0950 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | INT8 _v_15 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0950 _menhir_initp
          | INT64 _v_16 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0950 _menhir_initp
          | INT32 _v_17 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0950 _menhir_initp
          | INT16 _v_18 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0950 _menhir_initp
          | INT _v_19 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0950 _menhir_initp
          | IF_OP _v_20 ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0950 _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | IDENT _v_21 ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0950 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | FORALL_OP _v_22 ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0950 _menhir_initp
          | FORALL _v_23 ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0950 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | EXISTS_OP _v_24 ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0950 _menhir_initp
          | EXISTS _v_25 ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0950 _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | CHAR _v_26 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0950 _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0950 _menhir_initp
          | RBRACK ->
              let _v_27 = _menhir_action_480 () in
              _menhir_run_0951 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_481 x in
          _menhir_goto_right_flexible_list_SEMICOLON_noSeqTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0951 : 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_482 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
      | MenhirState0014 ->
          _menhir_run_0992 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0988 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0983 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0974 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0951 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0947 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0992 : 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_118 l in
      _menhir_goto_attribute _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0988 : 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_397 _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_0983 : 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_398 _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_0974 : 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_396 _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_0947 : 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_121 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
      | MenhirState1068 ->
          _menhir_run_1195 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1174 ->
          _menhir_run_1188 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1135 ->
          _menhir_run_1154 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_1113 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1178 ->
          _menhir_run_1113 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_1113 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1090 ->
          _menhir_run_1113 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1110 ->
          _menhir_run_1113 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0968 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0958 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0574 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0563 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0532 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0447 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0363 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0244 ->
          _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1441 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1436 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1338 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1345 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1046 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1032 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1027 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1022 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1017 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1012 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1007 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0887 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0837 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0276 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0237 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0221 ->
          _menhir_run_0223 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0926 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0920 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0216 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1195 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1195 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1195 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1195 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1195 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1195 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1195 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1195 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1195 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState1195 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1195 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState1195 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | LBRACE ->
          let _menhir_s = MenhirState1195 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 = MenhirState1196 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1070 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | INT8 _v_33 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1195 _menhir_initp
      | INT64 _v_34 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1195 _menhir_initp
      | INT32 _v_35 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1195 _menhir_initp
      | INT16 _v_36 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1195 _menhir_initp
      | INT _v_37 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1195 _menhir_initp
      | IDENT _v_38 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1195 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | FORALL_OP _v_39 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState1195 _menhir_initp
      | FORALL _v_40 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_40 MenhirState1195 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | EXISTS_OP _v_41 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_41 MenhirState1195 _menhir_initp
      | EXISTS _v_42 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_42 MenhirState1195 _menhir_initp
      | CHAR _v_43 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_43 MenhirState1195 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1195 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1188 : 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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1188 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1154 : 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_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 ())
          | OP_MIXFIX_ASSIGNMENT _v_6 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1155 _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, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1155 _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_029 _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, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1155 _menhir_initp
          | OPINFIX3 _v_14 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1155 _menhir_initp
          | OPINFIX2 _v_15 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1155 _menhir_initp
          | OPINFIX1 _v_16 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1155 _menhir_initp
          | OPINFIX0d _v_17 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1155 _menhir_initp
          | OPINFIX0c _v_18 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1155 _menhir_initp
          | OPINFIX0b _v_19 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1155 _menhir_initp
          | OPINFIX0a _v_20 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1155 _menhir_initp
          | MINUS ->
              let _startpos_21 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_22 = _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_22, _startpos_21, (), _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 ())
          | LET_OP _v_25 ->
              let _startpos_26 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_27 = _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_27, _startpos_26, _v_25, _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 ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1155 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1155 _menhir_initp
          | FORALL_OP _v_30 ->
              let _startpos_31 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_32 = _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_32, _startpos_31, _v_30, _v) in
                  let _v = _menhir_action_036 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EXISTS_OP _v_35 ->
              let _startpos_36 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_37 = _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_37, _startpos_36, _v_35, _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 ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1155 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1155 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1155 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1155 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1154, _startpos_0, _endpos) in
              _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1155 _menhir_initp
          | AND_OP _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 _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_42, _startpos_41, _v_40, _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 ())
          | _ ->
              _eRR ())
      | IDENT _v_45 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_45 MenhirState1154 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1113 : 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_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 ())
          | OP_MIXFIX_ASSIGNMENT _v_6 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1114 _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, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1114 _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_047 _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, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1114 _menhir_initp
          | OPINFIX3 _v_14 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1114 _menhir_initp
          | OPINFIX2 _v_15 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1114 _menhir_initp
          | OPINFIX1 _v_16 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1114 _menhir_initp
          | OPINFIX0d _v_17 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1114 _menhir_initp
          | OPINFIX0c _v_18 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1114 _menhir_initp
          | OPINFIX0b _v_19 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1114 _menhir_initp
          | OPINFIX0a _v_20 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1114 _menhir_initp
          | MINUS ->
              let _startpos_21 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_22 = _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_22, _startpos_21, (), _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 ())
          | LET_OP _v_25 ->
              let _startpos_26 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_27 = _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_27, _startpos_26, _v_25, _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 ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1114 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1114 _menhir_initp
          | FORALL_OP _v_30 ->
              let _startpos_31 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_32 = _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_32, _startpos_31, _v_30, _v) in
                  let _v = _menhir_action_054 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EXISTS_OP _v_35 ->
              let _startpos_36 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_37 = _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_37, _startpos_36, _v_35, _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 ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1114 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1114 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1114 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1114 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1113, _startpos_0, _endpos) in
              _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1114 _menhir_initp
          | AND_OP _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 _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_42, _startpos_41, _v_40, _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 ())
          | _ ->
              _eRR ())
      | IDENT _v_45 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_45 MenhirState1113 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0968 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0968 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0968 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0968 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0968 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0968 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0968 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0968 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0968 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0968 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0968 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0968 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0968 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0968 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0968 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0968 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0968 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0968 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0968 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0968 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0968 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0968 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0968 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0968 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0958 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0958 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0958 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0958 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0958 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0958 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0958 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0958 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0958 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0958 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0958 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0958 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0958 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0958 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0958 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0958 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0958 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0958 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0958 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0958 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0958 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0958 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0958 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0958 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0574 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0574 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0574 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0574 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0574 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0574 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0574 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0574 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0574 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0574 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0574 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0574 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0574 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0574 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0574 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0574 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0574 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0574 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0574 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0574 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0574 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0574 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0574 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0574 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0563 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0563 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0563 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0563 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0563 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0563 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0563 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0563 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0563 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0563 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0563 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0563 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0563 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0563 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0563 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0563 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0563 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0563 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0563 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0563 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0563 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0563 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0563 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0563 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0555 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0555 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0555 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0555 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0555 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0555 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0555 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0555 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0555 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0555 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0555 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0555 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0555 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0555 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0555 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0555 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0555 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0555 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0555 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0555 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0555 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0555 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0555 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0555 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0532 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0532 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0532 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0532 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0532 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0532 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0532 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0532 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0532 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0532 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0532 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0532 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0532 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0532 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0532 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0532 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0532 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0532 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0532 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0532 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0532 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0532 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0532 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0532 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0447 : 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 MenhirState0447 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0447 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0447 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0447 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0447 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0447 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0447 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0447 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0447 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0447 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0447 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0447 _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0447 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0447 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0447 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0447 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0447 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0447 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0447 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0447 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0443 : 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 MenhirState0443 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0443 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0443 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0443 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0443 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0443 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0443 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0443 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0443 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0443 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0443 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0443 _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0443 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0443 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0443 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0443 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0443 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0443 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0443 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0443 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0363 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0363 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0363 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0363 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0363 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0363 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0363 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0363 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0363 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0363 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0363 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0363 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0363 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0363 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0363 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0363 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0363 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0363 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0363 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0363 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0363 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0363 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0363 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0363 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0353 : 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_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0353 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0353 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0353 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0353 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0353 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | TILDE _v_5 ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0353 _menhir_initp
      | STRING _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0353 _menhir_initp
      | SIZET _v_7 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0353 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | REAL _v_8 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0353 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | OPPREFIX _v_9 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0353 _menhir_initp
      | NAME _v_10 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0353 _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | INT8 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0353 _menhir_initp
      | INT64 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0353 _menhir_initp
      | INT32 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0353 _menhir_initp
      | INT16 _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0353 _menhir_initp
      | INT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0353 _menhir_initp
      | IDENT _v_16 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0353 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | FORALL_OP _v_17 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0353 _menhir_initp
      | FORALL _v_18 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0353 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | EXISTS_OP _v_19 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0353 _menhir_initp
      | EXISTS _v_20 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0353 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0353 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0353 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0246 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0246 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0246 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0240 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0240 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0240 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0223 : 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_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0223 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0216 : 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_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0216 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0871 : 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_292 _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_0869 : 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 = MenhirState0870 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0864 : 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_291 _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_0859 : 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_290 _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_0852 : 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_289 _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_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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 MenhirState0849 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0849 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0849 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0849 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0849 _menhir_initp
          | TVAR _v_5 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0849 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0849 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0849 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0849 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0849 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0849 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | INT8 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0849 _menhir_initp
          | INT64 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0849 _menhir_initp
          | INT32 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0849 _menhir_initp
          | INT16 _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0849 _menhir_initp
          | INT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0849 _menhir_initp
          | IDENT _v_16 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0849 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | CHAR _v_17 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0849 _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0849 _menhir_initp
          | AND ->
              let _v_18 = _menhir_action_225 () in
              _menhir_run_0850 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_18 MenhirState0849 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0850 : 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 = MenhirState0851 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0844 : 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_288 _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_0842 : 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 = 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0774 : 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_338 e in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_12_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_phi_opt_, _startpos_phi_opt_, phi_opt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_468 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
      | MenhirState0923 ->
          _menhir_run_0924 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0834 ->
          _menhir_run_0835 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0273 ->
          _menhir_run_0776 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0629 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0924 : 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_376 _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_run_0835 : 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_254 _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_0776 : 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_669 _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_run_0629 : 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_0773 : 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_297 _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_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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0770 _menhir_initp
          | TVAR _v_1 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0770 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0770 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0770 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0770 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0770 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0770 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0770 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0770 _menhir_initp
          | DOT ->
              let _v_3 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_3 MenhirState0770 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0764 : 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_296 _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_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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0761 _menhir_initp
          | TVAR _v_1 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0761 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0761 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0761 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0761 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0761 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0761 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0761 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0761 _menhir_initp
          | DOT ->
              let _v_3 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_3 MenhirState0761 _tok _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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0757 _menhir_initp
          | TVAR _v_1 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0757 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0757 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0757 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0757 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0757 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0757 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0757 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0757 _menhir_initp
          | DOT ->
              let _v_3 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_3 MenhirState0757 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0752 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_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_295 _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_0746 : 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_294 _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_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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0743 _menhir_initp
          | TVAR _v_1 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0743 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0743 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0743 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0743 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0743 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0743 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0743 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0743 _menhir_initp
          | DOT ->
              let _v_3 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_3 MenhirState0743 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0740 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState0741 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 MenhirState0733 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0733 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0733 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0733 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0733 _menhir_initp
          | TVAR _v_5 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0733 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0733 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0733 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0733 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0733 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0733 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | INT8 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0733 _menhir_initp
          | INT64 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0733 _menhir_initp
          | INT32 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0733 _menhir_initp
          | INT16 _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0733 _menhir_initp
          | INT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0733 _menhir_initp
          | IDENT _v_16 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0733 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | CHAR _v_17 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0733 _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0733 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_225 () in
              _menhir_run_0734 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_18 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0734 : 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_293 _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_0727 : 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_271 _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_0723 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_calcRel _menhir_cell0_LBRACE, ttv_result) _menhir_cell1_option_term_ _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_RBRACE (_menhir_stack, _startpos__4_, _endpos__4_) = _menhir_stack in
          let MenhirCell1_option_term_ (_menhir_stack, _, justif) = _menhir_stack in
          let MenhirCell0_LBRACE (_menhir_stack, _startpos__2_, _endpos__2_) = _menhir_stack in
          let MenhirCell1_calcRel (_menhir_stack, _menhir_s, rel) = _menhir_stack in
          let next = _v in
          let _v = _menhir_action_145 _endpos__2_ _endpos__4_ _startpos__2_ _startpos__4_ justif next rel in
          let _menhir_stack = MenhirCell1_calcStep (_menhir_stack, _menhir_s, _v) in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0716 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0716 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0716 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0716 _menhir_initp
          | TVAR _v_4 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0716 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0716 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0716 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0716 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_8 ->
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0716 _menhir_initp
          | OP_MIXFIX_ACCESS _v_9 ->
              _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0716 _menhir_initp
          | OPPREFIX _v_10 ->
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0716 _menhir_initp
          | OPINFIX4 _v_11 ->
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0716 _menhir_initp
          | OPINFIX3 _v_12 ->
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0716 _menhir_initp
          | OPINFIX2 _v_13 ->
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0716 _menhir_initp
          | OPINFIX1 _v_14 ->
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0716 _menhir_initp
          | OPINFIX0d _v_15 ->
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0716 _menhir_initp
          | OPINFIX0c _v_16 ->
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0716 _menhir_initp
          | OPINFIX0b _v_17 ->
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0716 _menhir_initp
          | OPINFIX0a _v_18 ->
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0716 _menhir_initp
          | NAME _v_19 ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0716 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | INT8 _v_20 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0716 _menhir_initp
          | INT64 _v_21 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0716 _menhir_initp
          | INT32 _v_22 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0716 _menhir_initp
          | INT16 _v_23 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0716 _menhir_initp
          | INT _v_24 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0716 _menhir_initp
          | IMPLIES ->
              _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | IFF ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | IDENT _v_25 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0716 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | EQUALS ->
              _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | DISJUNCTION ->
              _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | CONJUNCTION ->
              _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | COLON_EQUALS ->
              _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | COLON_COLON ->
              _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | CHAR _v_26 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0716 _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | BACKTICK ->
              _menhir_run_0711 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0716 _menhir_initp
          | RBRACE ->
              let _v_27 = _menhir_action_229 () in
              _menhir_run_0717 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0711 : 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 = MenhirState0711 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0717 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_calcStep -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_calcStep (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_230 x xs in
      _menhir_goto_list_calcStep_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_list_calcStep_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0716 ->
          _menhir_run_0717 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0714 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0714 : 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_287 _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_0709 : 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 MenhirState0710 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0710 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0710 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0710 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0710 _menhir_initp
          | TVAR _v_5 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0710 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0710 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0710 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0710 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_9 ->
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0710 _menhir_initp
          | OP_MIXFIX_ACCESS _v_10 ->
              _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0710 _menhir_initp
          | OPPREFIX _v_11 ->
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0710 _menhir_initp
          | OPINFIX4 _v_12 ->
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0710 _menhir_initp
          | OPINFIX3 _v_13 ->
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0710 _menhir_initp
          | OPINFIX2 _v_14 ->
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0710 _menhir_initp
          | OPINFIX1 _v_15 ->
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0710 _menhir_initp
          | OPINFIX0d _v_16 ->
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0710 _menhir_initp
          | OPINFIX0c _v_17 ->
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0710 _menhir_initp
          | OPINFIX0b _v_18 ->
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0710 _menhir_initp
          | OPINFIX0a _v_19 ->
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0710 _menhir_initp
          | NAME _v_20 ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0710 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | INT8 _v_21 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0710 _menhir_initp
          | INT64 _v_22 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0710 _menhir_initp
          | INT32 _v_23 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0710 _menhir_initp
          | INT16 _v_24 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0710 _menhir_initp
          | INT _v_25 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0710 _menhir_initp
          | IMPLIES ->
              _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | IFF ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | IDENT _v_26 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0710 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | EQUALS ->
              _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | DISJUNCTION ->
              _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | CONJUNCTION ->
              _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | COLON_EQUALS ->
              _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | COLON_COLON ->
              _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | CHAR _v_27 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0710 _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | BACKTICK ->
              _menhir_run_0711 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0710 _menhir_initp
          | RBRACE ->
              let _v_28 = _menhir_action_229 () in
              _menhir_run_0714 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0708 : 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_282 _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_0704 : 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 = MenhirState0705 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_283 _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_0503 : 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_265 _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_0498 : 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_266 _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_0493 : 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_267 _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_0475 : 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_264 _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_0404 : 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_273 _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_0402 : 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 = MenhirState0403 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_274 _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_0399 : 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_0375 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0399 _menhir_initp
      | RETURNS ->
          let _menhir_s = MenhirState0399 in
          let _v = _menhir_action_347 () in
          _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS_EQ ->
          let _menhir_s = MenhirState0399 in
          let _v = _menhir_action_349 () in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | THEN ->
          let _v_2 = _menhir_action_359 () in
          _menhir_run_0400 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0399 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0375 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
      let _menhir_s = MenhirState0375 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_8_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_option___anonymous_8_ (_menhir_stack, _menhir_s, _v) in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RETURNS (_menhir_stack, _endpos) in
      let _menhir_s = MenhirState0387 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_9_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_option___anonymous_9_ (_menhir_stack, _menhir_s, _v) in
      let _menhir_s = MenhirState0384 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0400 : 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 = MenhirState0401 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0395 : 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 = MenhirState0396 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0390 : type  ttv_stack ttv_result. ttv_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 = MenhirState0391 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 = MenhirState0661 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_577 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
      | MenhirState1516 ->
          _menhir_run_1517 _menhir_stack _v
      | MenhirState0028 ->
          _menhir_run_0985 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0956 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0946 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0939 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0930 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0901 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0872 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0803 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0798 _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
      | MenhirState0790 ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0779 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0731 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0720 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0662 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0655 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0648 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0643 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0640 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0637 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0624 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0618 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0612 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0606 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0600 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0588 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0524 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0524 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0524 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0524 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0524 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0519 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0513 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0495 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0490 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0480 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0477 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0472 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0397 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0392 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0374 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0985 : 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 = MenhirState0986 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BAR ->
              _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0956 : 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_108 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_0946 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_letqualifier, 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_letqualifier (_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_278 _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_278 : 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
      | MenhirState1000 ->
          let MenhirCell0_COLON (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_1001 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | MenhirState0014 ->
          let MenhirCell1_LBRACK_AT_AT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          let MenhirCell1_SEQ_BANG_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          let MenhirCell1_PERCENT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          let MenhirCell1_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0949 _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_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          let MenhirCell0_AND (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0871 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0868 ->
          let MenhirCell0_WITH (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0869 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          let MenhirCell0_NAME (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0864 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0858 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0859 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0851 ->
          let MenhirCell0_AND (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0852 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0847 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _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 _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          let MenhirCell0_WITH (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _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 _tok _menhir_initp
      | MenhirState0841 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0842 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          let MenhirCell1_LBRACE (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0774 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0772 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0773 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0768 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0769 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0764 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0759 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0760 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0756 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          let MenhirCell1_WITH (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0752 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0745 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0746 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0741 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0742 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _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
      | MenhirState0278 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0732 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          let MenhirCell1_LBRACE_COLON_WELL_FOUNDED (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0727 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0722 ->
          let MenhirCell0_RBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0723 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0283 ->
          let MenhirCell0_LBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0709 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          let MenhirCell1_ASSUME (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0708 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | MenhirState0289 ->
          let MenhirCell1_ASSERT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0704 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0497 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0498 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0492 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0493 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0474 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0475 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0403 ->
          let MenhirCell0_ELSE (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0404 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0401 ->
          let MenhirCell0_THEN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          let MenhirCell1_ifMaybeOp (_, _, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0399 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          let MenhirCell0_LONG_LEFT_ARROW (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0395 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          let _endpos__0_ = _menhir_initp in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          let MenhirCell1_TRY (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          let MenhirCell1_BEGIN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          let MenhirCell1_OPEN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          let MenhirCell0_RARROW (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          let MenhirCell0_LBRACK (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          let MenhirCell1_DOT_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          let MenhirCell1_DOT_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          let MenhirCell1_maybeFocusArrow (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _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_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          let MenhirCell0_LBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          let MenhirCell1_EQUALS (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          let MenhirCell1_trigger (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          let MenhirCell1_DOT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          let MenhirCell1_DOT_LBRACK_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          let MenhirCell1_DOT_LENS_PAREN_LEFT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          let MenhirCell1_DOT_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          let MenhirCell1_DOT_LENS_PAREN_LEFT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          let MenhirCell1_DOT_LBRACK_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          let MenhirCell1_DOT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          let MenhirCell0_SEMICOLON_OP (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          let MenhirCell1_matchMaybeOp (_, _, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_278 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0372 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0372 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_qlidentOrOperator _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_qlidentOrOperator (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_y_, y) = (_endpos, _v) in
      let _v = _menhir_action_544 x y in
      _menhir_goto_simpleDef _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_y_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_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
      | MenhirState0332 ->
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0306 ->
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0331 : 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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0332 _menhir_initp
          | LPAREN ->
              _menhir_run_0307 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0332 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0332 _menhir_initp
          | RBRACE ->
              let _v_3 = _menhir_action_486 () in
              _menhir_run_0333 _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_487 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_0333 : 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_488 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
      | MenhirState0306 ->
          _menhir_run_0664 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp
      | MenhirState0332 ->
          _menhir_run_0333 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0664 : 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_492 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
      | MenhirState0680 ->
          _menhir_run_0681 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0665 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0665 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0665 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0665 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0665 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0665 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0681 : 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_466 _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_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
      | MenhirState1196 ->
          _menhir_run_0893 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0893 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0893 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0830 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0893 : 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_668 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_0830 : 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_666 e in
      _menhir_goto_tmNoEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _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
      | MenhirState0817 ->
          _menhir_run_0818 _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
      | MenhirState0813 ->
          _menhir_run_0814 _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
      | MenhirState0809 ->
          _menhir_run_0810 _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 _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0170 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | BACKTICK | BAR_RBRACE | COLON_COLON | COLON_EQUALS | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3 _ | 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_652 _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_0171 : 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 = MenhirState0171 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  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_665 e in
      _menhir_goto_tmNoEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  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_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0809 _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_0811 _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 | 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_650 _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_0809 : 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_OPINFIX3 (_menhir_stack, _v, _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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _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 _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 = 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _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_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0809 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _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_0811 _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 | 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_649 _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_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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0812 : 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_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          _menhir_run_0809 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0163 _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_0810 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX3 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_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0811 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | BAR_RBRACE | COLON_COLON | COLON_EQUALS | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3 _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX3 (_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_651 _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_0172 : 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_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | BACKTICK | BAR_RBRACE | COLON_COLON | COLON_EQUALS | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3 _ | 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_653 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0170 : type  ttv_stack ttv_result. ttv_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_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0809 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _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_0811 _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 | 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_624 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_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
      | MenhirState0157 ->
          _menhir_run_0833 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0832 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0819 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0436 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0432 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0430 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0426 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0424 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0420 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0418 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0416 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0414 _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_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_620 _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_0832 : 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_619 _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_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_621 _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_0438 : 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_0415 _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_0417 _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_0419 _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_0423 _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_0427 _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_0429 _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_0431 _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_0435 _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_0425 _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_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | 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_609 _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_0415 : 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 = MenhirState0415 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0417 : 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 = MenhirState0417 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0419 : 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 = MenhirState0419 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0423 : 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 = MenhirState0423 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0427 : 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 = MenhirState0427 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0429 : 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 = MenhirState0429 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0431 : 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 = MenhirState0431 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0435 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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 = MenhirState0435 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0425 : 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 = MenhirState0425 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0433 : 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 = MenhirState0433 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0436 : 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_0415 _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_0417 _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_0419 _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_0423 _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_0427 _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_0429 _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_0431 _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_0425 _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_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_612 _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_0434 : 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_0415 _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_0417 _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_0419 _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_0423 _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_0427 _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_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_608 _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_0432 : 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_0415 _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_0417 _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_0419 _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_0423 _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_0427 _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_0429 _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_0425 _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_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_613 _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_0430 : 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_0415 _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_0417 _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_0419 _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_0423 _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_0427 _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_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_614 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0428 : 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_0415 _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_0417 _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_0419 _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_0423 _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_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_615 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0426 : 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_618 _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_0424 : 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_0419 _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_0423 _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_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_616 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0420 : 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_617 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0418 : 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_0417 _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_0419 _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_0423 _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_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_610 _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_0416 : 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_0417 _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_0419 _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_0423 _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_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR_RBRACE | COLON_EQUALS | 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_611 _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_0414 : type  ttv_stack ttv_result. ttv_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_0415 _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_0417 _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_0419 _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_0423 _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_0427 _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_0429 _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_0431 _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_0435 _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_0425 _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_0433 _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 = MenhirState0437 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BAR_RBRACE | LBRACE | RARROW | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_607 e in
          _menhir_goto_tmEqNoRefinement _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _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
      | MenhirState0162 ->
          _menhir_run_0820 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0448 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0446 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  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_539 t in
          _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_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 = MenhirState0441 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0448 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _, x_inlined1, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_dom_tm_, dom_tm) = (_endpos, _v) in
      let _v = _menhir_action_543 dom_tm x x_inlined1 in
      _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0446 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_aqual -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_dom_tm_, dom_tm) = (_endpos, _v) in
      let _v = _menhir_action_542 dom_tm x in
      _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0444 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_dom_tm_, dom_tm) = (_endpos, _v) in
      let _v = _menhir_action_541 dom_tm x in
      _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0439 : type  ttv_stack ttv_result. ttv_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 | LBRACE | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_538 e in
          _menhir_goto_simpleArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | RARROW ->
          let (_endpos_dom_tm_, _startpos_dom_tm_, dom_tm) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_540 dom_tm in
          _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_dom_tm_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_simpleArrow : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0922 ->
          _menhir_run_0923 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0834 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0826 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0822 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0628 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0449 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0442 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0923 : 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_0274 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0923 _menhir_initp
      | RPAREN ->
          let _menhir_s = MenhirState0923 in
          let _v = _menhir_action_337 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0274 : 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 = MenhirState0274 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _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_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_0274 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0834 _menhir_initp
      | RPAREN ->
          let _menhir_s = MenhirState0834 in
          let _v = _menhir_action_337 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0826 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR, ttv_result) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> 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 MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_lidentOrUnderscore (_menhir_stack, _, id, _, _) = _menhir_stack in
          let MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
          let (_endpos, _endpos__5_, t) = (_endpos_0, _endpos_0, _v) in
          let _v = _menhir_action_252 _endpos__5_ _startpos__1_ id t in
          _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 _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, _endpos__3_, t) = (_endpos_0, _endpos_0, _v) in
          let _v = _menhir_action_253 _endpos__3_ _startpos__1_ t in
          _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0628 : 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_0274 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
      | RPAREN ->
          let _menhir_s = MenhirState0628 in
          let _v = _menhir_action_337 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0453 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR, ttv_result) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> 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 MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_lidentOrUnderscore (_menhir_stack, _, id, _, _) = _menhir_stack in
          let MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
          let (_endpos__5_, t) = (_endpos_0, _v) in
          let _v = _menhir_action_373 _endpos__5_ _startpos__1_ id t in
          _menhir_goto_patternOrMultibinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__5_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0449 : 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_374 _endpos__3_ _startpos__1_ t in
          _menhir_goto_patternOrMultibinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0442 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_simpleArrowDomain _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_simpleArrowDomain (_menhir_stack, _menhir_s, dom, _startpos_dom_, _endpos_dom_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_537 _endpos_dom_ _endpos_tgt_ _startpos_dom_ _startpos_tgt_ dom tgt in
      _menhir_goto_simpleArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_dom_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0670 : 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_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0671 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0671 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0671 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0671 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0671 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0671 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0671 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0671 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0671 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0671 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | LBRACE ->
          _menhir_run_0304 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0671 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0671 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0671 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0671 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0671 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0671 _menhir_initp
      | HASH ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0671 _menhir_initp
      | FORALL _v_17 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0671 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | EXISTS_OP _v_18 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0671 _menhir_initp
      | EXISTS _v_19 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0671 _menhir_initp
      | CHAR _v_20 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0671 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_21 = _menhir_action_013 () in
          _menhir_run_0677 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_21 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0677 : 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_011 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_0666 : 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_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0667 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0667 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0667 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0667 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0667 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0667 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0667 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0667 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0667 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0667 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | LBRACE ->
          _menhir_run_0304 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0667 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0667 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0667 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0667 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0667 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0667 _menhir_initp
      | HASH ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0667 _menhir_initp
      | FORALL _v_17 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0667 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | EXISTS_OP _v_18 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0667 _menhir_initp
      | EXISTS _v_19 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0667 _menhir_initp
      | CHAR _v_20 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0667 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0667 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_21 = _menhir_action_013 () in
          _menhir_run_0685 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_21 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0685 : 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_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_0665 : 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_465 _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_run_0305 : type  ttv_stack ttv_result. ttv_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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0306 _menhir_initp
          | LPAREN ->
              _menhir_run_0307 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0306 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0306 _menhir_initp
          | RBRACE ->
              let _v_3 = _menhir_action_486 () in
              _menhir_run_0664 _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_491 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_0941 : 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_277 _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_0939 : 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 = MenhirState0940 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0930 : 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_320 _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_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
      | MenhirState0668 ->
          _menhir_run_0682 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0682 : 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_007 a in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_a_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0673 : type  ttv_stack ttv_result. ttv_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_006 a in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_a_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0583 : 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_673 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_583 _endpos_t_ _startpos_t_ t in
      let _endpos = _endpos_t_ in
      let (_endpos_tactic_, tactic) = (_endpos, _v) in
      let _v = _menhir_action_346 tactic in
      _menhir_goto_option___anonymous_7_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _v _tok _menhir_initp
  
  and _menhir_run_0269 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      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_run_0901 : 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_582 _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_021 t in
          _menhir_goto_aqual _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0872 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_quident, ttv_result) _menhir_cell1_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 MenhirCell1_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_110 _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
      | MenhirState1073 ->
          _menhir_run_0879 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0879 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0879 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0879 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0879 : 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_326 _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_093 x in
      _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_atomicTerm : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1225 ->
          _menhir_run_1226 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0991 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0991 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0982 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0876 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0876 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0876 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0876 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0735 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0735 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0735 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0735 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0726 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0726 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0584 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0282 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0262 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0260 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0168 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0166 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0164 _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
      | MenhirState0138 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1226 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICET _menhir_cell0_LBRACK, ttv_result) _menhir_cell1_loption_separated_nonempty_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_loption_separated_nonempty_list_SEMICOLON_ident__ (_menhir_stack, _, xs) = _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_456 t xs in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0991 : type  ttv_stack ttv_result. ttv_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_581 _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
      | MenhirState1233 ->
          _menhir_run_1234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0990 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1234 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICE _menhir_cell0_LBRACK, ttv_result) _menhir_cell1_loption_separated_nonempty_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_loption_separated_nonempty_list_SEMICOLON_ident__ (_menhir_stack, _, xs) = _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_455 t xs in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0990 : 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_285 _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_0982 : 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_286 _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_0876 : 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_663 _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_0735 : type  ttv_stack ttv_result. ttv_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 MenhirState0735 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0735 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0735 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0735 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0735 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0735 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0735 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0735 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0735 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0735 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0735 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0735 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0735 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0735 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0735 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0735 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0735 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0735 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0735 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_17 = _menhir_action_225 () in
          _menhir_run_0736 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_17 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0736 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_atomicTerm -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_226 x xs in
      _menhir_goto_list_atomicTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list_atomicTerm_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0090 ->
          _menhir_run_0937 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0850 _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 _v _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0734 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0726 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let t = _v in
      let _v = _menhir_action_144 t in
      _menhir_goto_calcRel _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0584 : 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_672 x in
      _menhir_goto_trailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _tok _menhir_initp
  
  and _menhir_run_0286 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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 MenhirState0286 _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 MenhirState0286 _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 MenhirState0286 _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 MenhirState0286 _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 MenhirState0286 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0286 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | STRING _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 MenhirState0286 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0286 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | REAL _v_7 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0286 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | OPPREFIX _v_8 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0286 _menhir_initp
      | NAME _v_9 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0286 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | INT8 _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 MenhirState0286 _menhir_initp
      | INT64 _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 MenhirState0286 _menhir_initp
      | INT32 _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 MenhirState0286 _menhir_initp
      | INT16 _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 MenhirState0286 _menhir_initp
      | INT _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 MenhirState0286 _menhir_initp
      | IDENT _v_15 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0286 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | CHAR _v_16 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0286 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0286 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_304 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
      | MenhirState0286 ->
          _menhir_run_0287 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0287 : 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_305 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_0285 : 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_272 _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_0282 : 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 = MenhirState0283 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0272 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_198 e in
      _menhir_goto_indexingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _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
      | MenhirState0668 ->
          _menhir_run_0683 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0674 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0195 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _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
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0683 : 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_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0683 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0683 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0683 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0683 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0683 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0683 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0683 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0683 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0683 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0683 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | LBRACE ->
          _menhir_run_0304 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0683 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0683 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0683 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0683 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0683 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0683 _menhir_initp
      | HASH ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0683 _menhir_initp
      | FORALL _v_17 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0683 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | EXISTS_OP _v_18 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0683 _menhir_initp
      | EXISTS _v_19 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0683 _menhir_initp
      | CHAR _v_20 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0683 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_21 = _menhir_action_013 () in
          _menhir_run_0684 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_21 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0684 : 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_009 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_0674 : type  ttv_stack ttv_result. ttv_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_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0674 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0674 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0674 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0674 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0674 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0674 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0674 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0674 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0674 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0674 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | LBRACE ->
          _menhir_run_0304 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0674 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0674 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0674 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0674 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0674 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0674 _menhir_initp
      | HASH ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0674 _menhir_initp
      | FORALL _v_17 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0674 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | EXISTS_OP _v_18 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0674 _menhir_initp
      | EXISTS _v_19 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0674 _menhir_initp
      | CHAR _v_20 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0674 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0674 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_21 = _menhir_action_013 () in
          _menhir_run_0675 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_21 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0675 : 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_008 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_0303 : type  ttv_stack ttv_result. ttv_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_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0303 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0303 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0303 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0303 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0303 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0303 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0303 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0303 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0303 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0303 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | LBRACE ->
          _menhir_run_0304 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0303 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0303 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0303 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0303 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0303 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0303 _menhir_initp
      | HASH ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0303 _menhir_initp
      | FORALL _v_17 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0303 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | EXISTS_OP _v_18 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0303 _menhir_initp
      | EXISTS _v_19 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0303 _menhir_initp
      | CHAR _v_20 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0303 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0303 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_21 = _menhir_action_013 () in
          _menhir_run_0686 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_21 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0195 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0195 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0195 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0195 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0195 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0195 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0195 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0195 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0195 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0195 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0195 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0195 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0195 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0195 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0195 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0195 _menhir_initp
      | HASH ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0195 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0195 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_017 () in
          _menhir_run_0805 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_17 _tok _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_HASH (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0192 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0805 : 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_014 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
      | MenhirState0174 ->
          _menhir_run_0808 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0807 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0806 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0805 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0808 : 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_019 _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_020 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
      | MenhirState0922 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0421 : type  ttv_stack ttv_result. ttv_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_656 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_0273 : 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_0274 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0273 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 = MenhirState0273 in
          let _v = _menhir_action_337 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0807 : 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_015 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_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_016 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_0193 : 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_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0193 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0193 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0193 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0193 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0193 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0193 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0193 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0193 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0193 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0193 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0193 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0193 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0193 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0193 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0193 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0193 _menhir_initp
      | HASH ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0193 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0193 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_017 () in
          _menhir_run_0807 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_17 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0174 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0174 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0174 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0174 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0174 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0174 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0174 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0174 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0174 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0174 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0174 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0174 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0174 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0174 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0174 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0174 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0174 _menhir_initp
      | HASH ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0174 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_017 () in
          _menhir_run_0808 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_17 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0262 : 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_639 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0260 : 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_640 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0258 : 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_662 _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_0203 : 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_088 _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_0168 : 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_622 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0166 : 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_623 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0164 : 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_654 _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_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_655 _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_run_0137 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0138 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | TYP_APP_GREATER ->
          let x = _v in
          let _v = _menhir_action_519 x in
          _menhir_goto_separated_nonempty_list_COMMA_atomicTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_COMMA_atomicTerm_ : 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
      | MenhirState0138 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0118 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0139 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_atomicTerm -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_atomicTerm (_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_COMMA_atomicTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0118 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_TYP_APP_LESS -> _ -> _ -> _ -> _ -> 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_TYP_APP_LESS (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos__3_, targs) = (_endpos, _v) in
      let _v = _menhir_action_190 targs in
      _menhir_goto_fsTypeArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_fsTypeArgs : type  ttv_stack ttv_result. ttv_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
      | MenhirState0981 ->
          _menhir_run_0875 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0116 ->
          _menhir_run_0875 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0678 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0875 : 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 (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_547 x in
      let (_endpos, _startpos) = (_endpos_x_, _startpos_x_) in
      let MenhirCell1_quident (_menhir_stack, _menhir_s, id, _startpos_id_, _endpos_id_) = _menhir_stack in
      let (_endpos_targs_opt_, _startpos_targs_opt_, targs_opt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_403 _endpos_id_ _endpos_targs_opt_ _startpos_id_ _startpos_targs_opt_ id targs_opt in
      let (_endpos, _startpos) = (_endpos_targs_opt_, _startpos_id_) in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_394 e in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0122 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_qlident -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> 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_358 x in
      _menhir_goto_option_fsTypeArgs_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _tok _menhir_initp
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      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_0803 : 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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0804 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0804 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0804 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0804 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_308 _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_0197 : 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 = MenhirState0197 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0476 : 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 = MenhirState0476 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0479 : 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 = MenhirState0479 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0482 : 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 = MenhirState0482 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _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
      | MenhirState0196 ->
          _menhir_run_0504 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0470 ->
          _menhir_run_0504 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0804 ->
          _menhir_run_0488 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0488 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0491 ->
          _menhir_run_0487 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0487 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0496 ->
          _menhir_run_0486 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0481 ->
          _menhir_run_0486 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0501 ->
          _menhir_run_0485 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0485 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0504 : 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_197 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_run_0488 : 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_312 _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_0487 : 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_315 _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_0486 : 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_314 _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_0485 : 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_313 _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_0798 : 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_371 _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_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
      | MenhirState0986 ->
          _menhir_run_0802 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0802 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0801 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0382 _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
      | MenhirState0201 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0802 : type  ttv_stack ttv_result. ttv_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_474 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_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
      | MenhirState0986 ->
          _menhir_run_0987 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0799 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0987 : 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_0800 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_275 _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_0800 : 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 = MenhirState0800 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0799 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_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_0800 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_281 _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_0801 : 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_476 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_0382 : 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_472 pb in
      _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pb_ _startpos_pb_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_matchMaybeOp, ttv_result) _menhir_cell1_term, ttv_result) _menhir_cell1_option_match_returning_ _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR ->
          let _menhir_stack = MenhirCell1_reverse_left_flexible_list_BAR___anonymous_10_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_BAR (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState0380 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_276 _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_matchMaybeOp, ttv_result) _menhir_cell1_term, ttv_result) _menhir_cell1_option_match_returning_ _menhir_cell0_WITH, ttv_result) _menhir_cell1_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_cell0_BAR -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_BAR (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_reverse_left_flexible_list_BAR___anonymous_10_ (_menhir_stack, _menhir_s, xs, _startpos_xs_, _) = _menhir_stack in
      let (_endpos_pb_, pb) = (_endpos, _v) in
      let _v = _menhir_action_473 pb xs in
      _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pb_ _startpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0232 : 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_475 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_run_0796 : 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_372 _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_run_0791 : 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_324 _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_0779 : 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_322 _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_0731 : 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_321 _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_0720 : 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_366 x in
      _menhir_goto_option_term_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0662 : 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_578 _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_0655 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_LET, ttv_result) _menhir_cell1_letqualifier, 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_letqualifier (_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_279 _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_0648 : 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_202 _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_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
      | MenhirState1422 ->
          _menhir_run_1423 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1371 ->
          _menhir_run_1370 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_1370 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0943 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0657 ->
          _menhir_run_0658 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0650 ->
          _menhir_run_0651 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0649 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1423 : 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_688 _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_1370 : type  ttv_stack ttv_result. ttv_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 = MenhirState1371 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | SQUIGGLY_RARROW ->
              _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              _menhir_reduce_140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_493 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
      | MenhirState1371 ->
          _menhir_run_1372 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_1369 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1372 : 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_494 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_1369 : 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_444 _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_0943 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_letqualifier as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 MenhirState0943 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0943 _menhir_initp
      | AND ->
          _menhir_run_0650 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0943 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_227 () in
          _menhir_run_0944 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0943 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0650 : 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 = MenhirState0650 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          _menhir_reduce_140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0944 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_letqualifier, 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 = MenhirState0945 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0658 : 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_116 lb x 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 MenhirState0659 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0659 _menhir_initp
      | AND ->
          _menhir_run_0650 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0659 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_227 () in
          _menhir_run_0660 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0660 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_attr_letbinding -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_attr_letbinding (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_228 x xs in
      _menhir_goto_list_attr_letbinding_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_list_attr_letbinding_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0943 ->
          _menhir_run_0944 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0660 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0653 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0653 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_LET, ttv_result) _menhir_cell1_letqualifier, 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 = MenhirState0654 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0651 : 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_115 lb in
      _menhir_goto_attr_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0649 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_LET, ttv_result) _menhir_cell1_letqualifier as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 MenhirState0649 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0649 _menhir_initp
      | AND ->
          _menhir_run_0650 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0649 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_227 () in
          _menhir_run_0653 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0649 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0643 : 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_211 _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_0640 : 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_212 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_0637 : 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_204 _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_0624 : 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_207 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0618 : 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_209 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0612 : 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_210 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0606 : 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_208 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0600 : 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_206 _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_0594 : 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_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_0588 : 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_205 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0524 : 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_191 () in
          let _menhir_stack = MenhirCell0_hasSort (_menhir_stack, _v) in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _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
          | TVAR _v_4 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0528 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | TILDE _v_5 ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0528 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0528 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0528 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0528 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0528 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0528 _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | INT8 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0528 _menhir_initp
          | INT64 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0528 _menhir_initp
          | INT32 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0528 _menhir_initp
          | INT16 _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0528 _menhir_initp
          | INT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0528 _menhir_initp
          | IDENT _v_16 ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0528 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | FORALL_OP _v_17 ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0528 _menhir_initp
          | FORALL _v_18 ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0528 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | EXISTS_OP _v_19 ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0528 _menhir_initp
          | EXISTS _v_20 ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0528 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | CHAR _v_21 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0528 _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0528 _menhir_initp
          | _ ->
              _eRR ())
      | RPAREN ->
          let _v = _menhir_action_361 () 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_395 _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_0519 : 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_323 _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_0513 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET_OP, ttv_result) _menhir_cell1_letoperatorbinding, ttv_result) _menhir_cell1_list___anonymous_11_ _menhir_cell0_IN -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_IN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_list___anonymous_11_ (_menhir_stack, _, lbs) = _menhir_stack in
      let MenhirCell1_letoperatorbinding (_menhir_stack, _, b) = _menhir_stack in
      let MenhirCell1_LET_OP (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_280 _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_0500 : 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 = MenhirState0501 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0502 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
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET _v ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0289 _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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0501 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0501 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0501 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0501 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_309 _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_0495 : 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 = MenhirState0496 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0497 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
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET _v ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0289 _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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0496 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0496 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0496 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0496 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_310 _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_0490 : 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 = MenhirState0491 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0492 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET _v ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0289 _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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0491 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0491 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0491 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0491 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_311 _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_0483 : 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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0484 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0484 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0484 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0484 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_309 _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_0480 : 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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0481 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0481 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0481 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0481 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_310 _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_0477 : 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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0478 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0478 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0478 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0478 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_311 _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_0472 : 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 = MenhirState0473 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0474 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
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET _v ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0289 _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_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _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_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _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_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _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_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_308 _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_0469 : 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_344 tm in
      _menhir_goto_option___anonymous_4_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
  
  and _menhir_run_0397 : 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 _startpos _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_, _endpos_x_) = _menhir_stack in
      let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_580 _endpos_e2_ _endpos_x_ _startpos_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_0392 : 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 _startpos _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_, _endpos_e1_) = _menhir_stack in
      let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_579 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _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_0374 : 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_0375 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0374 _menhir_initp
      | RETURNS ->
          let _menhir_s = MenhirState0374 in
          let _v = _menhir_action_347 () in
          _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS_EQ ->
          let _menhir_s = MenhirState0374 in
          let _v = _menhir_action_349 () in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | WITH ->
          let _v_2 = _menhir_action_359 () in
          _menhir_run_0377 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0374 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0377 : 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 = MenhirState0378 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0068 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0202 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_471 () in
              _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0778 : 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_269 _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_0729 : 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_270 _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_0706 : 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_585 _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_284 _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_0529 : 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_362 e x in
      _menhir_goto_option_pair_hasSort_simpleTerm__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
  
  and _menhir_run_0388 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_option___anonymous_8_ _menhir_cell0_RETURNS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_RETURNS (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_8_ (_menhir_stack, _menhir_s, as_opt) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_247 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_360 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
      | MenhirState0399 ->
          _menhir_run_0400 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0374 ->
          _menhir_run_0377 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0385 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_option___anonymous_9_ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_option___anonymous_9_ (_menhir_stack, _menhir_s, as_opt) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_248 as_opt t in
      _menhir_goto_match_returning _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0369 : 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 = MenhirState0370 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_262 _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_0340 : 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_584 _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
      | MenhirState0370 ->
          _menhir_run_0371 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0367 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0371 : 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_263 _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_0367 : 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_261 _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_0338 : 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 = MenhirState0339 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_260 _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_0336 : type  ttv_stack ttv_result. ttv_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 = MenhirState0337 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 = MenhirState0368 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_259 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_run_0293 : 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_644 _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_0861 : 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 = MenhirState0863 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
              | TVAR _v ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET _v ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL _v ->
                  _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS _v ->
                  _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0289 _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_0347 _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_642 _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_0347 : 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 = MenhirState0347 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0765 : 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 = MenhirState0766 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _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_643 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_0754 : 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 = MenhirState0755 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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_0347 _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_642 _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_0362 : 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_0347 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_642 _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_0346 : type  ttv_stack ttv_result. ttv_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_0347 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_643 e in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0767 : 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 = MenhirState0768 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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_604 _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_0348 : 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_604 _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_0290 : type  ttv_stack ttv_result. ttv_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_605 e in
      _menhir_goto_tmConjunction _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0343 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEq -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_tmEq (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_524 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_0267 : 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_0266 _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 | DEFAULT | 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 _ | OPINFIX3 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_661 _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_0265 : type  ttv_stack ttv_result. ttv_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_0266 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3 _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | COLON_COLON ->
          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
      | BACKTICK ->
          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
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0540 _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 | DEFAULT | 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_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_641 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_0194 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_universe (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0175 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0194 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0194 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0194 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0194 _menhir_initp
      | TVAR _v_4 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0194 _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0194 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0194 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0194 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0194 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0194 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0194 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0194 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0194 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0194 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0194 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0194 _menhir_initp
      | HASH ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0194 _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0194 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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_017 () in
          _menhir_run_0806 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_17 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_ua_, _startpos_ua_, ua) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_700 ua in
      _menhir_goto_universeFrom _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ua_ _startpos_ua_ _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
      | MenhirState0181 ->
          _menhir_run_0182 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0179 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0182 : type  ttv_stack ttv_result. (ttv_stack, 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_701 _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_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_114 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 = MenhirState0181 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _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 _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_0176 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0188 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0188 _menhir_initp
      | INT _v_0 ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0188 _menhir_initp
      | IDENT _v_1 ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0188 _menhir_initp
      | OPINFIX2 _ | RPAREN ->
          let (_endpos_x_, x) = (_endpos, _v) in
          let _v = _menhir_action_306 x in
          _menhir_goto_nonempty_list_atomicUniverse_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  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
      | MenhirState0188 ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0189 : 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_307 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_0186 : 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_702 _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_run_1046 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1046 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1046 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1046 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1046 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1046 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1046 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1046 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1046 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1046 _menhir_initp
      | COLON ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState1046 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0644 : 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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _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 MenhirState0644 _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 MenhirState0644 _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 MenhirState0644 _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 MenhirState0644 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0644 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | STRING _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 MenhirState0644 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0644 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | REAL _v_7 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0644 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | NAME _v_8 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0644 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _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 MenhirState0644 _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 MenhirState0644 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | INT8 _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 MenhirState0644 _menhir_initp
      | INT64 _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 MenhirState0644 _menhir_initp
      | INT32 _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 MenhirState0644 _menhir_initp
      | INT16 _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 MenhirState0644 _menhir_initp
      | INT _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 MenhirState0644 _menhir_initp
      | IDENT _v_14 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0644 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | CHAR _v_15 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0644 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0644 _menhir_initp
      | COLON | COLON_COLON | COMMA | EQUALS ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_027 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_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
      | MenhirState0926 ->
          _menhir_run_0926 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0920 ->
          _menhir_run_0926 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0920 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0926 : 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 MenhirState0926 _menhir_initp
      | IDENT _v_0 ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0926 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0926 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0926 _menhir_initp
      | COLON ->
          let x = _v in
          let _v = _menhir_action_298 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
      | MenhirState0926 ->
          _menhir_run_0927 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0920 ->
          _menhir_run_0921 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0927 : 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_299 x xs in
      _menhir_goto_nonempty_list_aqualifiedWithAttrs_lident__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0921 : 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 = MenhirState0922 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _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_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 MenhirState0920 _menhir_initp
      | IDENT _v_0 ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0920 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0920 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lident_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0920 _menhir_initp
      | COLON | COLON_COLON | COMMA | RPAREN ->
          let (_endpos_qual_id_, _startpos_qual_id_, qual_id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_089 _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_0220 : type  ttv_stack ttv_result. ttv_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_089 _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_0376 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_AS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RETURNS ->
          let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
          let i = _v in
          let _v = _menhir_action_348 i in
          _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS_EQ ->
          let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
          let i = _v in
          let _v = _menhir_action_350 i in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0224 : 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_024 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_0222 : 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_025 aq x in
      _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0217 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_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_026 attrs x in
      _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_attrs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0214 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_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_027 x in
      _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_u_, _startpos_u_, u) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_113 u in
      _menhir_goto_atomicUniverse _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_u_ _startpos_u_ _v _menhir_s _tok _menhir_initp
  
  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 ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX2 _ | RPAREN ->
          let (_endpos_u_, _startpos_u_, u) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_113 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_193 x in
          _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0141 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_quident, ttv_result) _menhir_cell1_QMARK_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_QMARK_DOT (_menhir_stack, _) = _menhir_stack in
      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_400 _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_0099 : type  ttv_stack ttv_result. ttv_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_367 id in
      _menhir_goto_path_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1327 : 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_1271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1328 _menhir_initp
          | COMMA | RBRACE ->
              let _v_2 = _menhir_action_327 () in
              _menhir_run_1329 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1328 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1287 : 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_330 op in
          _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1170 : 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_030 aq attrs op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1151 : 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_039 aq op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1129 : 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_048 attrs op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1106 : 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_057 op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1085 : 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_057 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 | TVAR _ | 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_099 _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_407 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_1041 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1042 _menhir_initp
          | TVAR _v_2 ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1042 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1042 _menhir_initp
          | LPAREN ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1042 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1042 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1042 _menhir_initp
          | IDENT _v_3 ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1042 _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1042 _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1042 _menhir_initp
          | COLON ->
              let _v_4 = _menhir_action_223 () in
              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_4 MenhirState1042 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0918 : 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_077 _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_0891 : 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 | TVAR _ | 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_099 _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_407 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_0725 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_i_, _startpos_i_, i) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_142 _endpos_i_ _startpos_i_ i in
      _menhir_goto_calcRel _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0632 : 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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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 MenhirState0633 _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 MenhirState0633 _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 MenhirState0633 _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 MenhirState0633 _menhir_initp
          | TVAR _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_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0633 _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_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
          | STRING _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 MenhirState0633 _menhir_initp
          | SIZET _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_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0633 _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_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
          | REAL _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_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0633 _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_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
          | NAME _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0633 _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_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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 MenhirState0633 _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 MenhirState0633 _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_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_0413 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
          | INT8 _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 MenhirState0633 _menhir_initp
          | INT64 _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 MenhirState0633 _menhir_initp
          | INT32 _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 MenhirState0633 _menhir_initp
          | INT16 _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 MenhirState0633 _menhir_initp
          | INT _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 MenhirState0633 _menhir_initp
          | IDENT _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_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0633 _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_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
          | CHAR _v_17 ->
              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_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0633 _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_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _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_077 _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_0530 : 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_099 _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_0329 : 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_407 op in
          _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0238 : 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_224 bs xs in
      _menhir_goto_list___anonymous_6_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_bs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list___anonymous_6_ : type  ttv_stack ttv_result. ttv_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
      | MenhirState1441 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1436 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1345 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1338 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1046 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1032 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1027 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1022 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1017 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1012 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1007 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0887 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0276 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0237 ->
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1436 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1436 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1436 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1436 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1436 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1436 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1436 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1436 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1436 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1436 _menhir_initp
      | WITH ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState1436 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1430 : 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 = MenhirState1431 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | ASSUME | BLOB _ | CLASS | DEFAULT | 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_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v = _menhir_action_339 () in
          _menhir_goto_option___anonymous_2_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1362 : 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 = MenhirState1363 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_369 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_0113 : 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 = MenhirState0113 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _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
      | MenhirState1516 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1427 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1424 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1401 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1396 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1358 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1363 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1360 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1353 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1265 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1255 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1257 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1260 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1249 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1204 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1207 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1195 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1196 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1176 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1039 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1034 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0029 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0040 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0968 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0950 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0935 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0929 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0922 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0106 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0854 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0847 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0843 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0157 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0159 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0161 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0162 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0817 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0813 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0815 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0193 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0790 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0788 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0785 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0263 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0274 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0275 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0766 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0763 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0733 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0278 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0292 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0295 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0693 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0691 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0689 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0303 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0669 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0572 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0555 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0563 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0559 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0557 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0534 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0540 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0460 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0528 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0281 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0205 ->
          _menhir_run_0114 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0113 ->
          _menhir_run_0114 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0131 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_ids_, _startpos_ids_, ids) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_431 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
      | MenhirState1427 ->
          _menhir_run_1428 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1424 ->
          _menhir_run_1425 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1358 ->
          _menhir_run_1365 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1363 ->
          _menhir_run_1364 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1360 ->
          _menhir_run_1361 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1265 ->
          _menhir_run_1266 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1260 ->
          _menhir_run_1261 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1257 ->
          _menhir_run_1258 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1255 ->
          _menhir_run_1256 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1249 ->
          _menhir_run_1250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1247 ->
          _menhir_run_1248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1207 ->
          _menhir_run_1208 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1204 ->
          _menhir_run_1206 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0036 ->
          _menhir_run_0981 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0218 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0986 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0064 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0068 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0103 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0409 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0410 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0508 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0464 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0378 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0380 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0201 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0211 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1516 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1431 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1416 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1411 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _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
      | MenhirState1396 ->
          _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
      | MenhirState1386 ->
          _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
      | MenhirState1353 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1340 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1262 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1251 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1225 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1219 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _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
      | MenhirState1196 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1068 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1184 ->
          _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
      | MenhirState1176 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1069 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1133 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1073 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1071 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1064 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1048 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1044 ->
          _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
      | MenhirState1034 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1029 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1024 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1019 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1014 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1000 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | 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
      | 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
      | MenhirState0029 ->
          _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
      | MenhirState0035 ->
          _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
      | MenhirState0040 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0042 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0978 ->
          _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
      | MenhirState0968 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0963 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0048 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0051 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0061 ->
          _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
      | MenhirState0086 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0945 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0089 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _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
      | MenhirState0935 ->
          _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
      | MenhirState0929 ->
          _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
      | MenhirState0106 ->
          _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
      | MenhirState0897 ->
          _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
      | MenhirState0881 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0877 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0143 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0144 ->
          _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
      | MenhirState0870 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0863 ->
          _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
      | MenhirState0858 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0851 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0849 ->
          _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
      | MenhirState0843 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _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
      | MenhirState0158 ->
          _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
      | MenhirState0825 ->
          _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
      | MenhirState0162 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0169 ->
          _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
      | MenhirState0817 ->
          _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
      | MenhirState0174 ->
          _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
      | MenhirState0197 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0797 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0234 ->
          _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
      | MenhirState0790 ->
          _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
      | MenhirState0785 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0255 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0256 ->
          _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
      | MenhirState0274 ->
          _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
      | MenhirState0766 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0772 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0768 ->
          _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
      | MenhirState0763 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0759 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0755 ->
          _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
      | MenhirState0745 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0741 ->
          _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
      | MenhirState0735 ->
          _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
      | MenhirState0278 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0280 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0722 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0719 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0716 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0710 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0705 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0289 ->
          _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
      | MenhirState0295 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0701 ->
          _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
      | 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
      | MenhirState0693 ->
          _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
      | MenhirState0297 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _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
      | MenhirState0303 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0667 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0668 ->
          _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
      | MenhirState0671 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0654 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0642 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0639 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0636 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0627 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0623 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0617 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0611 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0605 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0599 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0593 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0587 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0459 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0580 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0574 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _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
      | MenhirState0532 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0546 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0551 ->
          _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
      | MenhirState0563 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | 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
      | MenhirState0557 ->
          _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
      | 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
      | MenhirState0542 ->
          _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
      | MenhirState0460 ->
          _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
      | MenhirState0518 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0512 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0499 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0489 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0476 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0479 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0474 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0468 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0461 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0452 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0413 ->
          _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
      | MenhirState0445 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0441 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0431 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0427 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0415 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0417 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0425 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0403 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0401 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0396 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0394 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0391 ->
          _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
      | MenhirState0387 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0384 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0368 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0370 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0353 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0357 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0359 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0355 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0351 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0342 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _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
      | MenhirState0281 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0271 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0266 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0261 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0259 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0257 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0202 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0194 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0171 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0167 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0165 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0155 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0138 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _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
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1428 : 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_436 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1425 : 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_1267 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1425 _menhir_initp
      | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_470 () in
          _menhir_run_1426 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1267 : 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 _menhir_s = MenhirState1267 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_1268 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_237 () in
          _menhir_goto_loption_separated_nonempty_list_COMMA___anonymous_1__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1365 : 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_441 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1364 : 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_439 uid1 uid2 in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid2_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1361 : 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_438 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1266 : 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_1267 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1266 _menhir_initp
      | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_470 () in
          _menhir_run_1335 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1261 : 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, 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 = MenhirState1262 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1258 : 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 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_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 = MenhirState1260 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1256 : 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 _menhir_s = MenhirState1257 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1250 : 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 = MenhirState1251 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1248 : 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 = MenhirState1249 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1208 : 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 = MenhirState1211 in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | UINT8 _v ->
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT64 _v ->
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT32 _v ->
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT16 _v ->
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | TVAR _v ->
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | TRUE ->
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | TILDE _v ->
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | STRING _v ->
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SIZET _v ->
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SET_RANGE_OF ->
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | SEQ_BANG_LBRACK ->
                      _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REIFY ->
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REAL _v ->
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | RANGE_OF ->
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | QUOTE ->
                      _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | PERCENT_LBRACK ->
                      _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | MINUS ->
                      _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN_RPAREN ->
                      _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN ->
                      _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LENS_PAREN_LEFT ->
                      _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE_BAR ->
                      _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE ->
                      _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | INT8 _v ->
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT64 _v ->
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT32 _v ->
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT16 _v ->
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT _v ->
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | IDENT _v ->
                      _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | HASH ->
                      _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FUN ->
                      _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FORALL_OP _v ->
                      _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | FORALL _v ->
                      _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | FALSE ->
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | EXISTS_OP _v ->
                      _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | EXISTS _v ->
                      _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | DOLLAR ->
                      _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | CHAR _v ->
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | BEGIN ->
                      _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BANG_LBRACE ->
                      _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_PERC ->
                      _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_HASH ->
                      _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_AT ->
                      _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK ->
                      _menhir_run_0263 _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 = MenhirState1219 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1206 : 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 = MenhirState1207 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0981 : 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
      | TYP_APP_LESS ->
          _menhir_run_0117 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
      | QMARK_DOT ->
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
      | QMARK ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0140 : 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 _menhir_stack = MenhirCell1_QMARK_DOT (_menhir_stack, _menhir_s) in
      let _menhir_s = MenhirState0140 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0142 : 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_401 _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_0212 : type  ttv_stack ttv_result. ttv_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_090 _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_0211 : type  ttv_stack ttv_result. ttv_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_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _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 MenhirState0211 _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 MenhirState0211 _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 MenhirState0211 _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 MenhirState0211 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0211 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | STRING _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 MenhirState0211 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0211 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | REAL _v_7 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0211 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | NAME _v_8 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0211 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _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 MenhirState0211 _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 MenhirState0211 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | INT8 _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 MenhirState0211 _menhir_initp
      | INT64 _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 MenhirState0211 _menhir_initp
      | INT32 _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 MenhirState0211 _menhir_initp
      | INT16 _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 MenhirState0211 _menhir_initp
      | INT _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 MenhirState0211 _menhir_initp
      | IDENT _v_14 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0211 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _menhir_initp
      | CHAR _v_15 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0211 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0211 _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_090 _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_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
      | TYP_APP_LESS ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0117 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0116 _menhir_initp
      | QMARK_DOT ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0140 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0116 _menhir_initp
      | QMARK ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | DOT_LPAREN ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0116 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 = MenhirState0143 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _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 | DEFAULT | DISJUNCTION | DOLLAR | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | TYPE | TYP_APP_GREATER | 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_109 _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_0114 : 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_370 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_1352 : 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 = MenhirState1353 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1338 : 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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1338 _menhir_initp
      | TVAR _v_0 ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1338 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1338 _menhir_initp
      | LPAREN ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1338 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1338 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1338 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1338 _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1338 _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1338 _menhir_initp
      | COLON ->
          let _v_2 = _menhir_action_223 () in
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_2 MenhirState1338 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1189 : 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_1176 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1189 _menhir_initp
      | LBRACE ->
          _menhir_run_1178 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1189 _menhir_initp
      | COLON ->
          _menhir_run_1184 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1189 _menhir_initp
      | AND | ASSUME | BAR | BLOB _ | CLASS | DEFAULT | 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_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_355 () in
          _menhir_run_1190 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1176 : 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 = MenhirState1176 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1178 : 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 = MenhirState1178 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | LPAREN ->
          _menhir_run_1091 _menhir_stack _menhir_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_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1184 : 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 = MenhirState1184 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1175 : 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_1176 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1175 _menhir_initp
      | LBRACE ->
          _menhir_run_1178 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1175 _menhir_initp
      | COLON ->
          _menhir_run_1184 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1175 _menhir_initp
      | AND | ASSUME | BAR | BLOB _ | CLASS | DEFAULT | 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_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_355 () in
          _menhir_run_1186 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0999 : 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 = MenhirState1000 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  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 ->
      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 = MenhirState0205 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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 | DEFAULT | DOLLAR | 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_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 | TVAR _ | 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_369 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_0183 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_194 x in
      _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0112 : type  ttv_stack ttv_result. ttv_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_0113 _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 | DEFAULT | DISJUNCTION | DOLLAR | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | TYPE | TYP_APP_GREATER | TYP_APP_LESS | 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_369 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_0096 : type  ttv_stack ttv_result. ttv_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 = MenhirState0097 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0451 : 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_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 = MenhirState0452 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0393 : type  ttv_stack ttv_result. ttv_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 = MenhirState0394 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0271 : 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 = MenhirState0271 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _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 _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_0271 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0247 : 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_064 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_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
      | MenhirState0837 ->
          _menhir_run_0837 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0837 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1441 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1436 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1414 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1409 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1399 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1394 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1389 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1384 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1379 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1338 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1345 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1056 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1046 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1032 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1027 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1022 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1017 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1012 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1007 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0887 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0856 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0845 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0839 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0252 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0770 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0757 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0761 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0276 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0514 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0237 ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0837 : type  ttv_stack ttv_result. ttv_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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0837 _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 MenhirState0837 _menhir_initp
      | IDENT _v_0 ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0837 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0837 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0837 _menhir_initp
      | COLON ->
          let x = _v in
          let _v = _menhir_action_300 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
      | MenhirState0837 ->
          _menhir_run_0838 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0838 : 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_301 x xs in
      _menhir_goto_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0153 : 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 = MenhirState0154 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0162 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0169 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0243 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _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_119 _endpos_aqualifiedWithAttrs_lid_ _startpos_aqualifiedWithAttrs_lid_ aqualifiedWithAttrs_lid in
      _menhir_goto_binder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos_aqualifiedWithAttrs_lid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_binder : type  ttv_stack ttv_result. ttv_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 (_startpos_b_, b) = (_startpos, _v) in
      let _v = _menhir_action_256 b in
      _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos_b_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0245 : 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_065 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_0241 : 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_066 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_0239 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_067 x in
      _menhir_goto_aqualifiedWithAttrs_lidentOrUnderscore_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1063 : 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 = MenhirState1064 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0547 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_351 () in
          _menhir_goto_option_ascribeKind_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1060 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tvar -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_tvar (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_526 x xs in
      _menhir_goto_separated_nonempty_list_COMMA_tvar_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0236 : type  ttv_stack ttv_result. ttv_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_tv_, _startpos_tv_, tv) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_120 _endpos_tv_ _startpos_tv_ tv in
      _menhir_goto_binder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos_tv_ _v _menhir_s _tok _menhir_initp
  
  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 _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_tv_, _startpos_tv_, tv) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_075 _endpos_tv_ _startpos_tv_ tv in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tv_ _startpos_tv_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0115 : type  ttv_stack ttv_result. ttv_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_tv_, _startpos_tv_, tv) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_095 _endpos_tv_ _startpos_tv_ tv in
      _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tv_ _startpos_tv_ _v _menhir_s _tok _menhir_initp
  
  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
      | MenhirState0092 ->
          _menhir_run_0928 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0644 ->
          _menhir_run_0645 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0634 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0620 ->
          _menhir_run_0621 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0614 ->
          _menhir_run_0615 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0608 ->
          _menhir_run_0609 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0602 ->
          _menhir_run_0603 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0597 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0591 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0412 ->
          _menhir_run_0458 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0456 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0928 : 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 = MenhirState0929 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
          | TVAR _v ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET _v ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL _v ->
              _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS _v ->
              _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0645 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0645 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0646 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0645 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0634 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0635 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0634 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0621 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0621 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0622 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0621 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0615 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0615 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0616 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0615 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0609 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0610 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0609 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0603 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0603 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0604 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0603 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0597 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0597 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0598 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0597 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0591 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0591 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0592 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0591 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0458 : 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_0459 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0458 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_0586 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0458 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0456 : 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_317 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_0218 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _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 MenhirState0218 _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 MenhirState0218 _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 MenhirState0218 _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 MenhirState0218 _menhir_initp
      | TVAR _v_4 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0218 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | STRING _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 MenhirState0218 _menhir_initp
      | SIZET _v_6 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0218 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | REAL _v_7 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0218 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | NAME _v_8 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0218 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _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 MenhirState0218 _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 MenhirState0218 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0095 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | INT8 _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 MenhirState0218 _menhir_initp
      | INT64 _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 MenhirState0218 _menhir_initp
      | INT32 _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 MenhirState0218 _menhir_initp
      | INT16 _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 MenhirState0218 _menhir_initp
      | INT _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 MenhirState0218 _menhir_initp
      | IDENT _v_14 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0218 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _menhir_initp
      | CHAR _v_15 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0218 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0218 _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_302 x in
          _menhir_goto_nonempty_list_atomicPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _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
      | MenhirState0218 ->
          _menhir_run_0219 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0211 ->
          _menhir_run_0213 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0219 : 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_303 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_0213 : 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_169 _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_0134 : type  ttv_stack ttv_result. ttv_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_096 _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_0067 : 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_087 _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_run_0196 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | DOT_LPAREN ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0197 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0196 _menhir_initp
      | DOT_LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0476 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0196 _menhir_initp
      | DOT_LBRACK_BAR ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0479 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0196 _menhir_initp
      | DOT_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0482 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0196 _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 | DEFAULT | 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 _ | OPINFIX3 _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | 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 | TVAR _ | 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_091 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_0136 : type  ttv_stack ttv_result. ttv_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_0994 : 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_419 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0995 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_417 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0996 : 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_415 _endpos__1_ _startpos__1_ in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0997 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_421 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1457 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_decoration -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_decoration (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_236 x xs in
      _menhir_goto_list_decoration_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list_decoration_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1455 ->
          _menhir_run_1457 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1461 ->
          _menhir_run_1003 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1459 ->
          _menhir_run_1003 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0000 ->
          _menhir_run_1003 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1003 : 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 MenhirState1004 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1004 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1004 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1004 _menhir_initp
          | TRUE ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1004 _menhir_initp
          | STRING _v_4 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1004 _menhir_initp
          | SIZET _v_5 ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1004 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1004 _menhir_initp
          | REIFY ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1004 _menhir_initp
          | REAL _v_6 ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1004 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1004 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1004 _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, MenhirState1004, _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, MenhirState1005, _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_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1007 _menhir_initp
                      | TVAR _v_13 ->
                          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1007 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1007 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1007 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1007 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1007 _menhir_initp
                      | IDENT _v_14 ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1007 _menhir_initp
                      | HASH ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1007 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1007 _menhir_initp
                      | COLON ->
                          let _v_15 = _menhir_action_223 () in
                          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_12 _endpos_12 _v_15 MenhirState1007 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | OP_MIXFIX_ASSIGNMENT _v_16 ->
                  _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1005 _menhir_initp
              | OP_MIXFIX_ACCESS _v_17 ->
                  _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1005 _menhir_initp
              | OPPREFIX _v_18 ->
                  let _startpos_19 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_20 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1005, _v_18, _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
                      | UNDERSCORE ->
                          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1012 _menhir_initp
                      | TVAR _v_23 ->
                          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState1012 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1012 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1012 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1012 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1012 _menhir_initp
                      | IDENT _v_24 ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState1012 _menhir_initp
                      | HASH ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1012 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1012 _menhir_initp
                      | COLON ->
                          let _v_25 = _menhir_action_223 () in
                          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_22 _endpos_22 _v_25 MenhirState1012 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | OPINFIX4 _v_26 ->
                  _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState1005 _menhir_initp
              | OPINFIX3 _v_27 ->
                  _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState1005 _menhir_initp
              | OPINFIX2 _v_28 ->
                  _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState1005 _menhir_initp
              | OPINFIX1 _v_29 ->
                  _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState1005 _menhir_initp
              | OPINFIX0d _v_30 ->
                  _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState1005 _menhir_initp
              | OPINFIX0c _v_31 ->
                  _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1005 _menhir_initp
              | OPINFIX0b _v_32 ->
                  _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1005 _menhir_initp
              | OPINFIX0a _v_33 ->
                  _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1005 _menhir_initp
              | MINUS ->
                  let _startpos_34 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_35 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1005, _startpos_34, _endpos_35) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_36 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_37 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_36, _endpos_37) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1017 _menhir_initp
                      | TVAR _v_38 ->
                          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1017 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1017 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1017 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1017 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1017 _menhir_initp
                      | IDENT _v_39 ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState1017 _menhir_initp
                      | HASH ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1017 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1017 _menhir_initp
                      | COLON ->
                          let _v_40 = _menhir_action_223 () in
                          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_37 _endpos_37 _v_40 MenhirState1017 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | LET_OP _v_41 ->
                  let _startpos_42 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_43 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1005, _v_41, _startpos_42, _endpos_43) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_44 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_45 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_44, _endpos_45) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1022 _menhir_initp
                      | TVAR _v_46 ->
                          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState1022 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1022 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1022 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1022 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1022 _menhir_initp
                      | IDENT _v_47 ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_47 MenhirState1022 _menhir_initp
                      | HASH ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1022 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1022 _menhir_initp
                      | COLON ->
                          let _v_48 = _menhir_action_223 () in
                          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_45 _endpos_45 _v_48 MenhirState1022 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | IMPLIES ->
                  _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1005 _menhir_initp
              | IFF ->
                  _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1005 _menhir_initp
              | FORALL_OP _v_49 ->
                  let _startpos_50 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_51 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1005, _v_49, _startpos_50, _endpos_51) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_52 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_53 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_52, _endpos_53) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1027 _menhir_initp
                      | TVAR _v_54 ->
                          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState1027 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1027 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1027 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1027 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1027 _menhir_initp
                      | IDENT _v_55 ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_55 MenhirState1027 _menhir_initp
                      | HASH ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1027 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1027 _menhir_initp
                      | COLON ->
                          let _v_56 = _menhir_action_223 () in
                          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_53 _endpos_53 _v_56 MenhirState1027 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | EXISTS_OP _v_57 ->
                  let _startpos_58 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_59 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1005, _v_57, _startpos_58, _endpos_59) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_60 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_61 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_60, _endpos_61) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1032 _menhir_initp
                      | TVAR _v_62 ->
                          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState1032 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1032 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1032 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1032 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1032 _menhir_initp
                      | IDENT _v_63 ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_63 MenhirState1032 _menhir_initp
                      | HASH ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1032 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1032 _menhir_initp
                      | COLON ->
                          let _v_64 = _menhir_action_223 () in
                          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_61 _endpos_61 _v_64 MenhirState1032 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | EQUALS ->
                  _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1005 _menhir_initp
              | DISJUNCTION ->
                  _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1005 _menhir_initp
              | CONJUNCTION ->
                  _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1005 _menhir_initp
              | COLON_EQUALS ->
                  _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1005 _menhir_initp
              | COLON_COLON ->
                  _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1005 _menhir_initp
              | AND_OP _v_65 ->
                  let _startpos_66 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_67 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState1005, _v_65, _startpos_66, _endpos_67) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_68 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_69 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_68, _endpos_69) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
                      | TVAR _v_70 ->
                          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_70 MenhirState1037 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0149 _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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
                      | IDENT _v_71 ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_71 MenhirState1037 _menhir_initp
                      | HASH ->
                          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
                      | COLON ->
                          let _v_72 = _menhir_action_223 () in
                          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_69 _endpos_69 _v_72 MenhirState1037 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | INT8 _v_73 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState1004 _menhir_initp
          | INT64 _v_74 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_74 MenhirState1004 _menhir_initp
          | INT32 _v_75 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_75 MenhirState1004 _menhir_initp
          | INT16 _v_76 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_76 MenhirState1004 _menhir_initp
          | INT _v_77 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_77 MenhirState1004 _menhir_initp
          | IDENT _v_78 ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_78 MenhirState1004 _menhir_initp
          | FALSE ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1004 _menhir_initp
          | CHAR _v_79 ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v_79 MenhirState1004 _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 = MenhirState1051 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _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 = MenhirState1204 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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_83 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_LBRACK (_menhir_stack, _startpos_83, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v_84 ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_84 MenhirState1222 _menhir_initp
              | IDENT _v_85 ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_85 MenhirState1222 _menhir_initp
              | RBRACK ->
                  let _v_86 = _menhir_action_241 () in
                  _menhir_run_1224 _menhir_stack _menhir_lexbuf _menhir_lexer _v_86 MenhirState1222 _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_87 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_LBRACK (_menhir_stack, _startpos_87, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v_88 ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v_88 MenhirState1231 _menhir_initp
              | IDENT _v_89 ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_89 MenhirState1231 _menhir_initp
              | RBRACK ->
                  let _v_90 = _menhir_action_241 () in
                  _menhir_run_1232 _menhir_stack _menhir_lexbuf _menhir_lexer _v_90 MenhirState1231 _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_379 () 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 = MenhirState1236 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | STRING _v ->
              _menhir_run_1237 _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_384 () 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_94 ->
              _menhir_run_1237 _menhir_stack _menhir_lexbuf _menhir_lexer _v_94 MenhirState1240 _menhir_initp
          | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_95 = _menhir_action_363 () in
              _menhir_run_1242 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_95 _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_96 ->
              _menhir_run_1237 _menhir_stack _menhir_lexbuf _menhir_lexer _v_96 MenhirState1243 _menhir_initp
          | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_97 = _menhir_action_363 () in
              _menhir_run_1244 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_97 _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_385 () 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_383 () in
          _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _tok _menhir_initp
      | POLYMONADIC_SUBCOMP ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_POLYMONADIC_SUBCOMP (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1247 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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 = MenhirState1255 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v ->
                  _menhir_run_0037 _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 = MenhirState1265 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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 = MenhirState1336 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_1337 _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 = MenhirState1358 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 = MenhirState1360 in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | NAME _v ->
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | LET _v_111 ->
          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, _v_111, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | REC ->
              _menhir_run_0088 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1367 _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_112 = _menhir_action_215 () in
              _menhir_run_1368 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_112 MenhirState1367 _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 = MenhirState1373 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACE ->
              _menhir_run_1337 _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_113 = _menhir_lexbuf.Lexing.lex_start_p in
              let _menhir_stack = MenhirCell1_VAL (_menhir_stack, MenhirState1375, _startpos_113) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | LPAREN ->
                  let _startpos_114 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1376, _startpos_114, _endpos) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | TILDE _v_115 ->
                      let _startpos_116 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_117 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1377, _v_115, _startpos_116, _endpos_117) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_118 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_119 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_118, _endpos_119) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | TVAR _v_120 ->
                              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_120 MenhirState1379 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0149 _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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | IDENT _v_121 ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_121 MenhirState1379 _menhir_initp
                          | HASH ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1379 _menhir_initp
                          | COLON ->
                              let _v_122 = _menhir_action_223 () in
                              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_119 _endpos_119 _v_122 MenhirState1379 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | OP_MIXFIX_ASSIGNMENT _v_123 ->
                      _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_123 MenhirState1377 _menhir_initp
                  | OP_MIXFIX_ACCESS _v_124 ->
                      _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v_124 MenhirState1377 _menhir_initp
                  | OPPREFIX _v_125 ->
                      let _startpos_126 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_127 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1377, _v_125, _startpos_126, _endpos_127) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_128 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_129 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_128, _endpos_129) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | TVAR _v_130 ->
                              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_130 MenhirState1384 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0149 _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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | IDENT _v_131 ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_131 MenhirState1384 _menhir_initp
                          | HASH ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1384 _menhir_initp
                          | COLON ->
                              let _v_132 = _menhir_action_223 () in
                              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_129 _endpos_129 _v_132 MenhirState1384 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | OPINFIX4 _v_133 ->
                      _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_133 MenhirState1377 _menhir_initp
                  | OPINFIX3 _v_134 ->
                      _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_134 MenhirState1377 _menhir_initp
                  | OPINFIX2 _v_135 ->
                      _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_135 MenhirState1377 _menhir_initp
                  | OPINFIX1 _v_136 ->
                      _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_136 MenhirState1377 _menhir_initp
                  | OPINFIX0d _v_137 ->
                      _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_137 MenhirState1377 _menhir_initp
                  | OPINFIX0c _v_138 ->
                      _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_138 MenhirState1377 _menhir_initp
                  | OPINFIX0b _v_139 ->
                      _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_139 MenhirState1377 _menhir_initp
                  | OPINFIX0a _v_140 ->
                      _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_140 MenhirState1377 _menhir_initp
                  | MINUS ->
                      let _startpos_141 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_142 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1377, _startpos_141, _endpos_142) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_143 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_144 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_143, _endpos_144) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | TVAR _v_145 ->
                              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_145 MenhirState1389 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0149 _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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | IDENT _v_146 ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_146 MenhirState1389 _menhir_initp
                          | HASH ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1389 _menhir_initp
                          | COLON ->
                              let _v_147 = _menhir_action_223 () in
                              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_144 _endpos_144 _v_147 MenhirState1389 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | LET_OP _v_148 ->
                      let _startpos_149 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_150 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1377, _v_148, _startpos_149, _endpos_150) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_151 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_152 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_151, _endpos_152) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | TVAR _v_153 ->
                              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_153 MenhirState1394 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0149 _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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | IDENT _v_154 ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_154 MenhirState1394 _menhir_initp
                          | HASH ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1394 _menhir_initp
                          | COLON ->
                              let _v_155 = _menhir_action_223 () in
                              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_152 _endpos_152 _v_155 MenhirState1394 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | IMPLIES ->
                      _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1377 _menhir_initp
                  | IFF ->
                      _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1377 _menhir_initp
                  | FORALL_OP _v_156 ->
                      let _startpos_157 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_158 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1377, _v_156, _startpos_157, _endpos_158) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_159 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_160 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_159, _endpos_160) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
                          | TVAR _v_161 ->
                              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_161 MenhirState1399 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0149 _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_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
                          | IDENT _v_162 ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_162 MenhirState1399 _menhir_initp
                          | HASH ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1399 _menhir_initp
                          | COLON ->
                              let _v_163 = _menhir_action_223 () in
                              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_160 _endpos_160 _v_163 MenhirState1399 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | EXISTS_OP _v_164 ->
                      let _startpos_165 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_166 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1377, _v_164, _startpos_165, _endpos_166) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_167 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_168 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_167, _endpos_168) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
                          | TVAR _v_169 ->
                              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_169 MenhirState1404 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
                          | IDENT _v_170 ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_170 MenhirState1404 _menhir_initp
                          | HASH ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
                          | COLON ->
                              let _v_171 = _menhir_action_223 () in
                              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_168 _endpos_168 _v_171 MenhirState1404 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | EQUALS ->
                      _menhir_run_0322 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1377 _menhir_initp
                  | DISJUNCTION ->
                      _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1377 _menhir_initp
                  | CONJUNCTION ->
                      _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1377 _menhir_initp
                  | COLON_EQUALS ->
                      _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1377 _menhir_initp
                  | COLON_COLON ->
                      _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1377 _menhir_initp
                  | AND_OP _v_172 ->
                      let _startpos_173 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_174 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState1377, _v_172, _startpos_173, _endpos_174) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_175 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_176 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_175, _endpos_176) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1409 _menhir_initp
                          | TVAR _v_177 ->
                              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v_177 MenhirState1409 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1409 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1409 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1409 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1409 _menhir_initp
                          | IDENT _v_178 ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer _v_178 MenhirState1409 _menhir_initp
                          | HASH ->
                              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1409 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1409 _menhir_initp
                          | COLON ->
                              let _v_179 = _menhir_action_223 () in
                              _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_176 _endpos_176 _v_179 MenhirState1409 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | IDENT _v_180 ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v_180 MenhirState1376 _menhir_initp
              | _ ->
                  _eRR ())
          | REC ->
              _menhir_run_0088 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1375 _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | 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 | TVAR _ | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_181 = _menhir_action_215 () in
              _menhir_run_1422 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_181 MenhirState1375 _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 = MenhirState1424 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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 = MenhirState1427 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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 = MenhirState1429 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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 = MenhirState1434 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _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 = MenhirState1435 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v ->
                  _menhir_run_0037 _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 = MenhirState1446 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BLOB _v_190 ->
          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_190) in
          let _v = _menhir_action_464 _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_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_434 p in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_p_ _startpos_p_ _v _tok _menhir_initp
  
  and _menhir_run_1237 : 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_573 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
      | MenhirState1243 ->
          _menhir_run_1241 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1240 ->
          _menhir_run_1241 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1236 ->
          _menhir_run_1238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1241 : 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_364 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
      | MenhirState1243 ->
          _menhir_run_1244 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1240 ->
          _menhir_run_1242 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1244 : 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_382 s_opt in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_opt_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1242 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_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_381 s_opt in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_opt_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1238 : 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_380 s in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1337 : 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 = MenhirState1337 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0998 : 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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0998 _menhir_initp
      | ASSUME | BLOB _ | CLASS | DEFAULT | 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_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_414 () 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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | IRREDUCIBLE ->
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0995 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | INLINE ->
          _menhir_run_0996 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | DEFAULT ->
          _menhir_run_0997 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | ASSUME ->
          _menhir_run_0998 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | EOF ->
          let _v = _menhir_action_233 () in
          _menhir_run_1452 _menhir_stack _v
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET _ | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v = _menhir_action_235 () in
          _menhir_run_1003 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0000 _tok _endpos
      | _ ->
          _eRR ()
  
  let _menhir_run_1461 : 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 MenhirState1461 _endpos
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | LBRACK_AT ->
          _menhir_run_0090 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | IRREDUCIBLE ->
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_0995 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | INLINE ->
          _menhir_run_0996 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | EOF ->
          let _v = _menhir_action_318 () in
          _menhir_goto_oneDeclOrEOF _menhir_stack _v
      | DEFAULT ->
          _menhir_run_0997 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | ASSUME ->
          _menhir_run_0998 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1461 _endpos
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET _ | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v = _menhir_action_235 () in
          _menhir_run_1003 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1461 _tok _endpos
      | _ ->
          _eRR ()
  
  let _menhir_run_1516 : type  ttv_stack. ttv_stack -> _ -> _ -> _menhir_box_term =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer ->
      let _menhir_s = MenhirState1516 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
      | TVAR _v ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0033 _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_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET _v ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _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_0090 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0107 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL _v ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS _v ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0256 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0275 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0279 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0281 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0257 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0259 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0261 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  let _menhir_run_1523 : type  ttv_stack. ttv_stack -> _ -> _menhir_box_warn_error_list =
    fun _menhir_stack _v ->
      let e = _v in
      let _v = _menhir_action_705 e in
      MenhirBox_warn_error_list _v
  
  let rec _menhir_goto_warn_error : type  ttv_stack. ttv_stack -> _ -> (ttv_stack, _menhir_box_warn_error_list) _menhir_state -> _menhir_box_warn_error_list =
    fun _menhir_stack _v _menhir_s ->
      match _menhir_s with
      | MenhirState1528 ->
          _menhir_run_1529 _menhir_stack _v
      | MenhirState1518 ->
          _menhir_run_1523 _menhir_stack _v
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1529 : type  ttv_stack. (ttv_stack, _menhir_box_warn_error_list) _menhir_cell1_flag _menhir_cell0_range -> _ -> _menhir_box_warn_error_list =
    fun _menhir_stack _v ->
      let MenhirCell0_range (_menhir_stack, r) = _menhir_stack in
      let MenhirCell1_flag (_menhir_stack, _menhir_s, f) = _menhir_stack in
      let e = _v in
      let _v = _menhir_action_704 e f r in
      _menhir_goto_warn_error _menhir_stack _v _menhir_s
  
  let rec _menhir_run_1519 : type  ttv_stack. ttv_stack -> _ -> _ -> _ -> (ttv_stack, _menhir_box_warn_error_list) _menhir_state -> _menhir_box_warn_error_list =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let op = _v in
      let _v = _menhir_action_188 op in
      _menhir_goto_flag _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok
  
  and _menhir_goto_flag : type  ttv_stack. ttv_stack -> _ -> _ -> _ -> (ttv_stack, _menhir_box_warn_error_list) _menhir_state -> _ -> _menhir_box_warn_error_list =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok ->
      let _menhir_stack = MenhirCell1_flag (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | RANGE _v_0 ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let r = _v_0 in
          let _v = _menhir_action_433 r in
          _menhir_goto_range _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok
      | INT _v_2 ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let i = _v_2 in
          let _v = _menhir_action_432 i in
          _menhir_goto_range _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok
      | _ ->
          _eRR ()
  
  and _menhir_goto_range : type  ttv_stack. (ttv_stack, _menhir_box_warn_error_list) _menhir_cell1_flag -> _ -> _ -> _ -> _ -> _menhir_box_warn_error_list =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell0_range (_menhir_stack, _v) in
          _menhir_run_1519 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1528
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell0_range (_menhir_stack, _v) in
          _menhir_run_1520 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1528
      | MINUS ->
          let _menhir_stack = MenhirCell0_range (_menhir_stack, _v) in
          _menhir_run_1521 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1528
      | EOF ->
          let MenhirCell1_flag (_menhir_stack, _menhir_s, f) = _menhir_stack in
          let r = _v in
          let _v = _menhir_action_703 f r in
          _menhir_goto_warn_error _menhir_stack _v _menhir_s
      | _ ->
          _eRR ()
  
  and _menhir_run_1520 : type  ttv_stack. ttv_stack -> _ -> _ -> _ -> (ttv_stack, _menhir_box_warn_error_list) _menhir_state -> _menhir_box_warn_error_list =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let op = _v in
      let _v = _menhir_action_187 op in
      _menhir_goto_flag _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok
  
  and _menhir_run_1521 : type  ttv_stack. ttv_stack -> _ -> _ -> (ttv_stack, _menhir_box_warn_error_list) _menhir_state -> _menhir_box_warn_error_list =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_189 () in
      _menhir_goto_flag _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok
  
  let _menhir_run_1518 : type  ttv_stack. ttv_stack -> _ -> _ -> _menhir_box_warn_error_list =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer ->
      let _menhir_s = MenhirState1518 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | OPINFIX2 _v ->
          _menhir_run_1519 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s
      | OPINFIX1 _v ->
          _menhir_run_1520 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s
      | MINUS ->
          _menhir_run_1521 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s
      | _ ->
          _eRR ()
  
end

let warn_error_list =
  fun _menhir_lexer _menhir_lexbuf ->
    let _menhir_stack = () in
    let MenhirBox_warn_error_list v = _menhir_run_1518 _menhir_stack _menhir_lexbuf _menhir_lexer in
    v

let term =
  fun _menhir_lexer _menhir_lexbuf ->
    let _menhir_stack = () in
    let MenhirBox_term v = _menhir_run_1516 _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_1461 _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
