diff --git a/library/init/lean/parser/module.lean b/library/init/lean/parser/module.lean
index 6f3747adfe..044f6f1330 100644
--- a/library/init/lean/parser/module.lean
+++ b/library/init/lean/parser/module.lean
@@ -91,21 +91,22 @@ partial def parseCommand (env : Environment) : ModuleParser → Syntax × Module
let p := { pos := s.pos, recovering := true, messages := p.messages.add msg, .. p };
parseCommand p
-private partial def testModuleParserAux (env : Environment) : ModuleParser → IO Bool
+private partial def testModuleParserAux (env : Environment) (displayStx : Bool) : ModuleParser → IO Bool
| p :=
match parseCommand env p with
| (stx, p) =>
if isEOI stx || isExitCommand stx then do
p.messages.toList.mfor $ fun msg => IO.println msg;
pure (!p.messages.hasErrors)
- else
+ else do
+ when displayStx (IO.println stx);
testModuleParserAux p
@[export lean.test_module_parser_core]
-def testModuleParser (env : Environment) (input : String) (filename := "") : IO Bool :=
+def testModuleParser (env : Environment) (input : String) (filename := "") (displayStx := false) : IO Bool :=
timeit (filename ++ " parser") $
let (_, p) := mkModuleParser env input filename;
- testModuleParserAux env p
+ testModuleParserAux env displayStx p
end Parser
end Lean
diff --git a/src/shell/lean.cpp b/src/shell/lean.cpp
index 5c80c8932f..b59c8740d9 100644
--- a/src/shell/lean.cpp
+++ b/src/shell/lean.cpp
@@ -294,9 +294,9 @@ public:
};
namespace lean {
-object* test_module_parser_core(object* env, object* input, object* filename, object* w);
+object* test_module_parser_core(object* env, object* input, object* filename, uint8 displayCtx, object* w);
bool test_module_parser(environment const & env, std::string const & input, std::string const & filename) {
- return get_io_scalar_result(test_module_parser_core(env.to_obj_arg(), mk_string(input), mk_string(filename), io_mk_world()));
+ return get_io_scalar_result(test_module_parser_core(env.to_obj_arg(), mk_string(input), mk_string(filename), false, io_mk_world()));
}
}
diff --git a/src/stage0/CMakeLists.txt b/src/stage0/CMakeLists.txt
index 3aacb7bd12..b9e6f6b318 100644
--- a/src/stage0/CMakeLists.txt
+++ b/src/stage0/CMakeLists.txt
@@ -1 +1 @@
-add_library (stage0 OBJECT ./init/coe.cpp ./init/control/alternative.cpp ./init/control/applicative.cpp ./init/control/combinators.cpp ./init/control/conditional.cpp ./init/control/default.cpp ./init/control/estate.cpp ./init/control/except.cpp ./init/control/functor.cpp ./init/control/id.cpp ./init/control/lift.cpp ./init/control/monad.cpp ./init/control/monadfail.cpp ./init/control/option.cpp ./init/control/reader.cpp ./init/control/state.cpp ./init/core.cpp ./init/data/array/basic.cpp ./init/data/array/binsearch.cpp ./init/data/array/default.cpp ./init/data/array/qsort.cpp ./init/data/assoclist.cpp ./init/data/basic.cpp ./init/data/bytearray/basic.cpp ./init/data/bytearray/default.cpp ./init/data/char/basic.cpp ./init/data/char/default.cpp ./init/data/default.cpp ./init/data/dlist.cpp ./init/data/fin/basic.cpp ./init/data/fin/default.cpp ./init/data/hashable.cpp ./init/data/hashmap/basic.cpp ./init/data/hashmap/default.cpp ./init/data/int/basic.cpp ./init/data/int/default.cpp ./init/data/list/basic.cpp ./init/data/list/default.cpp ./init/data/list/instances.cpp ./init/data/nat/basic.cpp ./init/data/nat/bitwise.cpp ./init/data/nat/default.cpp ./init/data/nat/div.cpp ./init/data/option/basic.cpp ./init/data/option/instances.cpp ./init/data/ordering/basic.cpp ./init/data/ordering/default.cpp ./init/data/persistentarray/basic.cpp ./init/data/persistentarray/default.cpp ./init/data/random.cpp ./init/data/rbmap/basic.cpp ./init/data/rbmap/default.cpp ./init/data/rbtree/basic.cpp ./init/data/rbtree/default.cpp ./init/data/repr.cpp ./init/data/string/basic.cpp ./init/data/string/default.cpp ./init/data/tostring.cpp ./init/data/uint.cpp ./init/default.cpp ./init/fix.cpp ./init/io.cpp ./init/lean/attributes.cpp ./init/lean/class.cpp ./init/lean/compiler/closedtermcache.cpp ./init/lean/compiler/constfolding.cpp ./init/lean/compiler/default.cpp ./init/lean/compiler/exportattr.cpp ./init/lean/compiler/externattr.cpp ./init/lean/compiler/implementedbyattr.cpp ./init/lean/compiler/initattr.cpp ./init/lean/compiler/inlineattrs.cpp ./init/lean/compiler/ir/basic.cpp ./init/lean/compiler/ir/borrow.cpp ./init/lean/compiler/ir/boxing.cpp ./init/lean/compiler/ir/checker.cpp ./init/lean/compiler/ir/compilerm.cpp ./init/lean/compiler/ir/default.cpp ./init/lean/compiler/ir/elimdead.cpp ./init/lean/compiler/ir/emitcpp.cpp ./init/lean/compiler/ir/emitutil.cpp ./init/lean/compiler/ir/expandresetreuse.cpp ./init/lean/compiler/ir/format.cpp ./init/lean/compiler/ir/freevars.cpp ./init/lean/compiler/ir/livevars.cpp ./init/lean/compiler/ir/normids.cpp ./init/lean/compiler/ir/pushproj.cpp ./init/lean/compiler/ir/rc.cpp ./init/lean/compiler/ir/resetreuse.cpp ./init/lean/compiler/ir/simpcase.cpp ./init/lean/compiler/namemangling.cpp ./init/lean/compiler/specialize.cpp ./init/lean/compiler/util.cpp ./init/lean/declaration.cpp ./init/lean/default.cpp ./init/lean/elaborator/default.cpp ./init/lean/elaborator/elabstrategyattrs.cpp ./init/lean/environment.cpp ./init/lean/eqncompiler/default.cpp ./init/lean/eqncompiler/matchpattern.cpp ./init/lean/evalconst.cpp ./init/lean/expr.cpp ./init/lean/format.cpp ./init/lean/kvmap.cpp ./init/lean/level.cpp ./init/lean/message.cpp ./init/lean/modifiers.cpp ./init/lean/name.cpp ./init/lean/options.cpp ./init/lean/parser/command.cpp ./init/lean/parser/default.cpp ./init/lean/parser/identifier.cpp ./init/lean/parser/level.cpp ./init/lean/parser/module.cpp ./init/lean/parser/parser.cpp ./init/lean/parser/term.cpp ./init/lean/parser/trie.cpp ./init/lean/position.cpp ./init/lean/projfns.cpp ./init/lean/reducibilityattrs.cpp ./init/lean/runtime.cpp ./init/lean/smap.cpp ./init/lean/syntax.cpp ./init/lean/toexpr.cpp ./init/lean/trace.cpp ./init/lean/util.cpp ./init/platform.cpp ./init/util.cpp ./init/wf.cpp)
+add_library (stage0 OBJECT ./init/coe.cpp ./init/control/alternative.cpp ./init/control/applicative.cpp ./init/control/combinators.cpp ./init/control/conditional.cpp ./init/control/default.cpp ./init/control/estate.cpp ./init/control/except.cpp ./init/control/functor.cpp ./init/control/id.cpp ./init/control/lift.cpp ./init/control/monad.cpp ./init/control/monadfail.cpp ./init/control/option.cpp ./init/control/reader.cpp ./init/control/state.cpp ./init/core.cpp ./init/data/array/basic.cpp ./init/data/array/binsearch.cpp ./init/data/array/default.cpp ./init/data/array/qsort.cpp ./init/data/assoclist.cpp ./init/data/basic.cpp ./init/data/bytearray/basic.cpp ./init/data/bytearray/default.cpp ./init/data/char/basic.cpp ./init/data/char/default.cpp ./init/data/default.cpp ./init/data/dlist.cpp ./init/data/fin/basic.cpp ./init/data/fin/default.cpp ./init/data/hashable.cpp ./init/data/hashmap/basic.cpp ./init/data/hashmap/default.cpp ./init/data/int/basic.cpp ./init/data/int/default.cpp ./init/data/list/basic.cpp ./init/data/list/default.cpp ./init/data/list/instances.cpp ./init/data/nat/basic.cpp ./init/data/nat/bitwise.cpp ./init/data/nat/default.cpp ./init/data/nat/div.cpp ./init/data/option/basic.cpp ./init/data/option/instances.cpp ./init/data/ordering/basic.cpp ./init/data/ordering/default.cpp ./init/data/persistentarray/basic.cpp ./init/data/persistentarray/default.cpp ./init/data/random.cpp ./init/data/rbmap/basic.cpp ./init/data/rbmap/default.cpp ./init/data/rbtree/basic.cpp ./init/data/rbtree/default.cpp ./init/data/repr.cpp ./init/data/string/basic.cpp ./init/data/string/default.cpp ./init/data/tostring.cpp ./init/data/uint.cpp ./init/default.cpp ./init/fix.cpp ./init/io.cpp ./init/lean/attributes.cpp ./init/lean/class.cpp ./init/lean/compiler/closedtermcache.cpp ./init/lean/compiler/constfolding.cpp ./init/lean/compiler/default.cpp ./init/lean/compiler/exportattr.cpp ./init/lean/compiler/externattr.cpp ./init/lean/compiler/implementedbyattr.cpp ./init/lean/compiler/initattr.cpp ./init/lean/compiler/inlineattrs.cpp ./init/lean/compiler/ir/basic.cpp ./init/lean/compiler/ir/borrow.cpp ./init/lean/compiler/ir/boxing.cpp ./init/lean/compiler/ir/checker.cpp ./init/lean/compiler/ir/compilerm.cpp ./init/lean/compiler/ir/default.cpp ./init/lean/compiler/ir/elimdead.cpp ./init/lean/compiler/ir/emitcpp.cpp ./init/lean/compiler/ir/emitutil.cpp ./init/lean/compiler/ir/expandresetreuse.cpp ./init/lean/compiler/ir/format.cpp ./init/lean/compiler/ir/freevars.cpp ./init/lean/compiler/ir/livevars.cpp ./init/lean/compiler/ir/normids.cpp ./init/lean/compiler/ir/pushproj.cpp ./init/lean/compiler/ir/rc.cpp ./init/lean/compiler/ir/resetreuse.cpp ./init/lean/compiler/ir/simpcase.cpp ./init/lean/compiler/namemangling.cpp ./init/lean/compiler/specialize.cpp ./init/lean/compiler/util.cpp ./init/lean/declaration.cpp ./init/lean/default.cpp ./init/lean/elaborator/default.cpp ./init/lean/elaborator/elabstrategyattrs.cpp ./init/lean/environment.cpp ./init/lean/eqncompiler/default.cpp ./init/lean/eqncompiler/matchpattern.cpp ./init/lean/evalconst.cpp ./init/lean/expr.cpp ./init/lean/format.cpp ./init/lean/kvmap.cpp ./init/lean/level.cpp ./init/lean/message.cpp ./init/lean/modifiers.cpp ./init/lean/name.cpp ./init/lean/options.cpp ./init/lean/parser/command.cpp ./init/lean/parser/default.cpp ./init/lean/parser/identifier.cpp ./init/lean/parser/level.cpp ./init/lean/parser/module.cpp ./init/lean/parser/parser.cpp ./init/lean/parser/term.cpp ./init/lean/parser/trie.cpp ./init/lean/position.cpp ./init/lean/projfns.cpp ./init/lean/reducibilityattrs.cpp ./init/lean/runtime.cpp ./init/lean/scopes.cpp ./init/lean/smap.cpp ./init/lean/syntax.cpp ./init/lean/toexpr.cpp ./init/lean/trace.cpp ./init/lean/util.cpp ./init/platform.cpp ./init/util.cpp ./init/wf.cpp)
diff --git a/src/stage0/init/lean/attributes.cpp b/src/stage0/init/lean/attributes.cpp
index 1309f1817a..398ec8b86b 100644
--- a/src/stage0/init/lean/attributes.cpp
+++ b/src/stage0/init/lean/attributes.cpp
@@ -1,6 +1,6 @@
// Lean compiler output
// Module: init.lean.attributes
-// Imports: init.lean.environment init.lean.syntax
+// Imports: init.lean.scopes init.lean.syntax
#include "runtime/object.h"
#include "runtime/apply.h"
typedef lean::object obj; typedef lean::usize usize;
@@ -18,10 +18,8 @@ obj* l_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg(obj
obj* l_Lean_getAttributeImpl___closed__1;
obj* l_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1(obj*);
obj* l_Lean_attributeArrayRef;
-obj* l_Lean_scopeManagerExt___closed__6;
obj* l_List_map___main___at_Lean_registerEnumAttributes___spec__7___rarg___lambda__1(obj*, obj*, obj*, obj*, obj*, obj*, obj*, uint8, obj*);
obj* l_Lean_ParametricAttribute_getParam(obj*);
-obj* l_Lean_scopeManagerExt___closed__4;
obj* l_Lean_attrParamSyntaxToIdentifier(obj*);
extern "C" uint8 lean_name_dec_eq(obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__2___closed__5;
@@ -48,38 +46,27 @@ obj* add_scoped_attribute_core(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_TagAttribute_Inhabited___closed__2;
obj* l_Array_mkArray(obj*, obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__3___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
-obj* l_List_foldl___main___at_Lean_Environment_toValidNamespace___spec__1___boxed(obj*, obj*, obj*, obj*);
obj* l_HashMapImp_expand___at_Lean_registerAttribute___spec__4(obj*, obj*);
obj* l_Lean_TagAttribute_Inhabited___closed__3;
obj* l_Lean_registerParametricAttribute___rarg(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_registerEnumAttributes___rarg(obj*, obj*, obj*, obj*, obj*);
-obj* l_Lean_regScopeManagerExtension___closed__4;
obj* l_Lean_AttributeImpl_inhabited___lambda__3___boxed(obj*, obj*, obj*, obj*);
-obj* l_Lean_scopeManagerExt___lambda__1___boxed(obj*);
obj* l_Array_miterateAux___main___at_Lean_getAttributeNames___spec__2(obj*, obj*, obj*, obj*);
namespace lean {
obj* activate_scoped_attributes_core(obj*, obj*, obj*);
}
-obj* l_Lean_scopeManagerExt___closed__3;
obj* l_Lean_AttributeImpl_inhabited___closed__5;
namespace lean {
obj* attribute_application_time_core(obj*, obj*);
}
obj* l_Lean_registerTagAttribute___lambda__5___closed__1;
-obj* l_Lean_Environment_popScopeCore___lambda__1(obj*);
obj* l_Lean_registerTagAttribute___lambda__4___closed__4;
-obj* l_Lean_scopeManagerExt___elambda__1(obj*);
extern obj* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__2;
-namespace lean {
-uint8 has_open_scopes_core(obj*);
-}
uint8 l_HashMapImp_contains___at_Lean_registerAttribute___spec__1(obj*, obj*);
obj* l_Lean_registerEnumAttributes___rarg___lambda__2(obj*);
extern obj* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__3;
-obj* l_Lean_Environment_popScopeCore___closed__1;
obj* l_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed(obj*, obj*);
obj* l_Lean_registerAttribute(obj*, obj*);
-obj* l_Lean_Environment_pushScopeCore___lambda__1(obj*, obj*, uint8, obj*);
obj* l_HashMapImp_contains___at_Lean_registerAttribute___spec__1___boxed(obj*, obj*);
obj* l_Lean_registerTagAttribute___lambda__4___boxed(obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerTagAttribute___spec__3___boxed(obj*, obj*, obj*, obj*, obj*);
@@ -88,31 +75,18 @@ obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_register
obj* l_Lean_registerAttribute___closed__2;
extern obj* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2;
obj* l_Lean_ParametricAttribute_Inhabited(obj*);
-namespace lean {
-obj* get_namespaces_core(obj*);
-}
-uint8 l_List_isEmpty___main___rarg(obj*);
obj* l_Lean_registerParametricAttribute___rarg___lambda__3___closed__3;
obj* l_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg___boxed(obj*, obj*);
obj* l_HashMapImp_insert___at_Lean_registerAttribute___spec__3(obj*, obj*, obj*);
obj* l_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1(obj*);
-namespace lean {
-obj* get_scope_header_core(obj*);
-}
obj* l_Lean_registerTagAttribute___lambda__1(obj*);
-obj* l_List_toArrayAux___main___rarg(obj*, obj*);
obj* l_Array_uget(obj*, obj*, usize, obj*);
obj* l_Lean_Name_toStringWithSep___main(obj*, obj*);
obj* l_Lean_TagAttribute_Inhabited___closed__5;
-obj* l_Lean_SimplePersistentEnvExtension_getState___rarg(obj*, obj*);
-obj* l_Lean_scopeManagerExt;
obj* l_AssocList_mfoldl___main___at_Lean_registerAttribute___spec__6(obj*, obj*);
extern obj* l_Lean_Inhabited;
obj* l_Lean_registerParametricAttribute___rarg___lambda__4(obj*, obj*, obj*, obj*, obj*, obj*, obj*, uint8, obj*);
obj* l_Array_uset(obj*, obj*, usize, obj*, obj*);
-obj* l_Lean_ScopeManagerState_Inhabited;
-obj* l_List_redLength___main___rarg(obj*);
-obj* l_Lean_Environment_registerNamespaceAux(obj*, obj*);
obj* l_Lean_TagAttribute_Inhabited___lambda__1___closed__1;
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__3(obj*);
obj* l_IO_Prim_Ref_set(obj*, obj*, obj*, obj*);
@@ -125,7 +99,6 @@ obj* l_Lean_registerParametricAttribute___rarg___closed__1;
obj* l_RBNode_fold___main___at_RBMap_size___spec__1___rarg(obj*, obj*);
obj* l_Lean_EnumAttributes_setValue___rarg___closed__1;
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerParametricAttribute___spec__6(obj*);
-obj* l_Lean_scopeManagerExt___closed__8;
obj* l_Array_qsortAux___main___at_Lean_registerEnumAttributes___spec__2___rarg(obj*, obj*, obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__2___closed__2;
extern "C" obj* lean_io_initializing(obj*);
@@ -133,11 +106,8 @@ obj* l_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg___bo
obj* l_Array_binSearchAux___main___at_Lean_ParametricAttribute_getParam___spec__2(obj*);
obj* l_Lean_registerTagAttribute___lambda__4(obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerParametricAttribute___spec__4___rarg(obj*, obj*, obj*, obj*, obj*, obj*);
-obj* l_Array_mkEmpty(obj*, obj*);
obj* l_Lean_registerTagAttribute___lambda__2(obj*, obj*);
obj* l_Lean_ParametricAttribute_getParam___rarg___boxed(obj*, obj*, obj*, obj*);
-obj* l_Lean_SimplePersistentEnvExtension_modifyState___rarg(obj*, obj*, obj*);
-obj* l_Lean_regScopeManagerExtension___lambda__1(obj*, obj*);
namespace lean {
obj* push_scope_core(obj*, obj*, uint8, obj*);
}
@@ -145,7 +115,6 @@ obj* l_Lean_registerEnumAttributes___rarg___lambda__2___closed__4;
obj* l_Array_binSearchAux___main___at_Lean_ParametricAttribute_getParam___spec__2___rarg___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_registerEnumAttributes___rarg___closed__1;
obj* l_Array_swap(obj*, obj*, obj*, obj*);
-obj* l_Lean_scopeManagerExt___closed__2;
obj* l_Lean_registerEnumAttributes___rarg___lambda__2___closed__1;
obj* l_Thunk_mk(obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___closed__4;
@@ -156,7 +125,6 @@ obj* activate_scoped_attribute_core(obj*, obj*, obj*, obj*);
uint8 l_Lean_NameSet_contains(obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__6___rarg(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1___rarg___boxed(obj*, obj*);
-obj* l_Lean_Environment_inSection___boxed(obj*);
obj* l_Lean_registerTagAttribute___lambda__5___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_registerTagAttribute(obj*, obj*, obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerParametricAttribute___spec__6___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
@@ -165,26 +133,18 @@ obj* l_Nat_repr(obj*);
namespace lean {
obj* is_attribute_core(obj*, obj*);
}
-obj* l_Lean_scopeManagerExt___lambda__1___closed__1;
obj* l_RBNode_insert___at_Lean_NameSet_insert___spec__1(obj*, obj*, obj*);
obj* l_Lean_registerParametricAttribute(obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__5(obj*, obj*);
-obj* l_Lean_regScopeManagerExtension___lambda__2___boxed(obj*);
-obj* l_Lean_regScopeManagerExtension(obj*);
obj* l_Lean_registerEnumAttributes___rarg___lambda__2___closed__3;
extern "C" usize lean_name_hash_usize(obj*);
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__2(obj*, obj*, obj*, obj*);
-obj* l_Lean_Environment_getNamespaceSet(obj*);
extern obj* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__3;
-obj* l_Lean_mkStateFromImportedEntries___at_Lean_regScopeManagerExtension___spec__1___boxed(obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__5___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Environment_pushScope___boxed(obj*, obj*, obj*, obj*);
obj* l_Lean_PersistentEnvExtension_getState___rarg(obj*, obj*);
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__3(obj*, obj*, obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__2___closed__4;
obj* l_Lean_Environment_getModuleIdxFor(obj*, obj*);
obj* l_AssocList_mfoldl___main___at_Lean_getAttributeNames___spec__1___boxed(obj*, obj*);
-obj* l_Lean_scopeManagerExt___elambda__3___boxed(obj*, obj*);
obj* l_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg___boxed(obj*, obj*);
obj* l_Lean_registerTagAttribute___lambda__4___closed__1;
obj* l_Lean_registerEnumAttributes(obj*);
@@ -197,11 +157,9 @@ obj* l_Lean_registerTagAttribute___closed__2;
obj* l_Lean_ParametricAttribute_setParam(obj*);
obj* l_List_mfor___main___at_Lean_registerEnumAttributes___spec__8(obj*, obj*);
obj* l_Array_qsortAux___main___at_Lean_registerEnumAttributes___spec__2(obj*);
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__3___boxed(obj*, obj*, obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerParametricAttribute___spec__5___rarg(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_registerParametricAttribute___rarg___closed__2;
obj* l_Lean_TagAttribute_Inhabited___closed__4;
-obj* l_Lean_scopeManagerExt___lambda__1(obj*);
namespace lean {
uint8 nat_dec_lt(obj*, obj*);
}
@@ -222,8 +180,6 @@ obj* l_Lean_mkAttributeMapRef(obj*);
obj* l_Lean_registerTagAttribute___lambda__5(obj*, obj*, obj*, obj*, obj*, obj*, uint8, obj*);
obj* l_Array_fget(obj*, obj*, obj*);
obj* l_Array_qsortAux___main___at_Lean_registerEnumAttributes___spec__2___rarg___boxed(obj*, obj*, obj*, obj*);
-extern "C" obj* lean_name_mk_string(obj*, obj*);
-obj* l_Lean_registerSimplePersistentEnvExtension___rarg(obj*, obj*);
obj* l_Lean_Environment_addAttribute___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
uint8 l_AssocList_contains___main___at_Lean_registerAttribute___spec__2(obj*, obj*);
obj* l_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1(obj*);
@@ -237,9 +193,6 @@ obj* add_attribute_core(obj*, obj*, obj*, obj*, uint8, obj*);
obj* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(obj*, obj*, obj*);
obj* l_Lean_registerTagAttribute___lambda__5___closed__5;
extern obj* l_Lean_nullKind;
-namespace lean {
-uint8 is_namespace_core(obj*, obj*);
-}
obj* l_Array_miterateAux___main___at_Lean_Environment_activateScopedAttributes___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_registerTagAttribute___lambda__4___closed__3;
namespace lean {
@@ -256,7 +209,6 @@ obj* l_Lean_registerEnumAttributes___rarg___lambda__2___boxed(obj*);
obj* l_Array_push(obj*, obj*, obj*);
obj* l_Lean_TagAttribute_Inhabited;
obj* l_AssocList_find___main___at_Lean_getAttributeImpl___spec__2___boxed(obj*, obj*);
-obj* l_Lean_regScopeManagerExtension___closed__5;
obj* l_Array_miterateAux___main___at_Lean_Environment_popScope___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1(obj*);
obj* l_RBNode_find___main___at_Lean_ParametricAttribute_getParam___spec__1(obj*);
@@ -264,20 +216,10 @@ obj* l_Lean_registerAttribute___closed__1;
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerParametricAttribute___spec__5___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Array_qsortAux___main___at_Lean_registerTagAttribute___spec__2___boxed(obj*, obj*, obj*);
obj* l_Lean_registerEnumAttributes___rarg___lambda__1___boxed(obj*, obj*);
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__2___boxed(obj*, obj*, obj*, obj*);
obj* l_Lean_registerParametricAttribute___rarg___lambda__3___closed__2;
-obj* l_Lean_scopeManagerExt___closed__7;
-obj* l_Lean_mkStateFromImportedEntries___at_Lean_regScopeManagerExtension___spec__1(obj*, obj*);
-namespace lean {
-obj* register_namespace_core(obj*, obj*);
-}
-obj* l_Lean_regScopeManagerExtension___lambda__2(obj*);
obj* l_IO_Prim_mkRef(obj*, obj*, obj*);
uint8 l_Lean_TagAttribute_hasTag(obj*, obj*, obj*);
-obj* l_Lean_scopeManagerExt___elambda__2___boxed(obj*);
-obj* l_Lean_regScopeManagerExtension___closed__3;
uint8 l_Array_binSearchAux___main___at_Lean_TagAttribute_hasTag___spec__1(obj*, obj*, obj*, obj*);
-obj* l_Lean_regScopeManagerExtension___closed__6;
obj* l_Lean_registerTagAttribute___lambda__5___closed__2;
obj* l_Lean_registerEnumAttributes___rarg___lambda__2___closed__2;
obj* l_Lean_registerParametricAttribute___rarg___lambda__4___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*);
@@ -286,23 +228,17 @@ obj* l_Array_miterateAux___main___at_Lean_Environment_activateScopedAttributes__
obj* l_AssocList_find___main___at_Lean_getAttributeImpl___spec__2(obj*, obj*);
obj* l_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed(obj*, obj*);
obj* l_Array_qsortAux___main___at_Lean_registerParametricAttribute___spec__2___rarg___boxed(obj*, obj*, obj*, obj*);
-obj* l_Lean_scopeManagerExt___elambda__4___boxed(obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__4___rarg(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__5___rarg(obj*, obj*, obj*, obj*, obj*, obj*);
-obj* l_List_foldl___main___at_Lean_Environment_toValidNamespace___spec__1(obj*, obj*, obj*, obj*);
-obj* l_Lean_ScopeManagerState_saveNamespace(obj*, obj*);
-obj* l_Lean_scopeManagerExt___elambda__4___closed__2;
obj* l_Lean_TagAttribute_Inhabited___closed__1;
obj* l_RBNode_fold___main___at_Lean_registerEnumAttributes___spec__1___rarg(obj*, obj*);
obj* l_Lean_getAttributeNames(obj*);
obj* l_Array_qsortAux___main___at_Lean_registerTagAttribute___spec__2(obj*, obj*, obj*);
-obj* l_Lean_regScopeManagerExtension___closed__1;
obj* l_Lean_EnumAttributes_setValue(obj*);
obj* l_HashMapImp_moveEntries___main___at_Lean_registerAttribute___spec__5(obj*, obj*, obj*);
obj* l_Array_qsortAux___main___at_Lean_registerParametricAttribute___spec__2(obj*);
obj* l_Lean_Environment_popScopeCore(obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__4(obj*, obj*, obj*);
-obj* l_Lean_Environment_getNamespaceSet___boxed(obj*);
obj* l_RBNode_fold___main___at_Lean_registerParametricAttribute___spec__1___rarg(obj*, obj*);
obj* l_Lean_registerTagAttribute___lambda__7___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__2___closed__3;
@@ -316,17 +252,12 @@ usize usize_modn(usize, obj*);
obj* l_Lean_ParametricAttribute_setParam___rarg(obj*, obj*, obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__3___rarg(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_EnumAttributes_getValue___rarg___boxed(obj*, obj*, obj*, obj*);
-obj* l_Lean_scopeManagerExt___closed__1;
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerParametricAttribute___spec__3___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_ParametricAttribute_setParam___rarg___closed__2;
obj* l_RBNode_find___main___at_Lean_EnumAttributes_setValue___spec__1(obj*);
obj* l_Lean_AttributeImpl_inhabited___closed__6;
obj* l_Lean_registerParametricAttribute___rarg___lambda__2(obj*, obj*);
-obj* l_Lean_scopeManagerExt___elambda__3(obj*, obj*);
-obj* l_Lean_scopeManagerExt___elambda__4___closed__1;
obj* l_AssocList_mfoldl___main___at_Lean_getAttributeNames___spec__1(obj*, obj*);
-obj* l_Lean_ScopeManagerState_Inhabited___closed__1;
-obj* l_Lean_scopeManagerExt___elambda__1___boxed(obj*);
obj* l_Array_miterateAux___main___at_Lean_Environment_pushScope___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_List_map___main___at_Lean_registerEnumAttributes___spec__7___rarg___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Array_binSearchAux___main___at_Lean_EnumAttributes_getValue___spec__2___rarg(obj*, obj*, obj*, obj*, obj*);
@@ -341,17 +272,13 @@ obj* l_Array_get(obj*, obj*, obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerParametricAttribute___spec__5(obj*);
obj* l_Lean_EnumAttributes_setValue___rarg___closed__2;
obj* l_mkHashMapImp___rarg(obj*);
-obj* l_Lean_Environment_registerNamespace___main(obj*, obj*);
obj* l_Lean_registerTagAttribute___closed__3;
-obj* l_Lean_regScopeManagerExtension___closed__2;
obj* l_AssocList_contains___main___at_Lean_registerAttribute___spec__2___boxed(obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__2(obj*, obj*, obj*, obj*);
obj* l_Lean_registerTagAttribute___lambda__5___closed__3;
-obj* l_List_tail___main___rarg(obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__1(obj*, obj*, obj*, uint8, obj*);
obj* l_RBNode_find___main___at_Lean_EnumAttributes_getValue___spec__1___rarg(obj*, obj*);
extern obj* l_Lean_Name_toString___closed__1;
-obj* l_Lean_Environment_pushScopeCore___boxed(obj*, obj*, obj*);
obj* l_Lean_ParametricAttribute_setParam___rarg___closed__3;
namespace lean {
uint8 nat_dec_le(obj*, obj*);
@@ -364,16 +291,11 @@ obj* l_Lean_registerParametricAttribute___rarg___lambda__3___closed__4;
namespace lean {
obj* nat_div(obj*, obj*);
}
-obj* l_Lean_scopeManagerExt___elambda__2(obj*);
obj* l_Array_miterateAux___main___at_Lean_Environment_pushScope___spec__1(uint8, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___closed__3;
-namespace lean {
-uint8 in_section_core(obj*);
-}
obj* l_Lean_EnumAttributes_Inhabited(obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__4___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__2___boxed(obj*, obj*, obj*, obj*);
-obj* l_Lean_scopeManagerExt___closed__5;
obj* l_Lean_ParametricAttribute_getParam___rarg(obj*, obj*, obj*, obj*);
obj* l_RBNode_find___main___at_Lean_ParametricAttribute_setParam___spec__1___rarg(obj*, obj*);
obj* l_Array_miterateAux___main___at_Lean_getAttributeNames___spec__2___boxed(obj*, obj*, obj*, obj*);
@@ -381,1055 +303,30 @@ obj* l_Lean_TagAttribute_Inhabited___lambda__1___boxed(obj*);
obj* l_Lean_Environment_pushScopeCore(obj*, obj*, uint8);
obj* l_AssocList_replace___main___at_Lean_registerAttribute___spec__7(obj*, obj*, obj*);
obj* l_List_map___main___at_Lean_registerEnumAttributes___spec__7(obj*);
-obj* l_Lean_Environment_isNamespace___boxed(obj*, obj*);
obj* l_Lean_registerPersistentEnvExtensionUnsafe___rarg(obj*, obj*);
obj* l_RBNode_fold___main___at_Lean_registerTagAttribute___spec__1(obj*, obj*);
obj* l_Array_binSearchAux___main___at_Lean_EnumAttributes_getValue___spec__2___rarg___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_attributeMapRef;
obj* l_Lean_EnumAttributes_setValue___rarg(obj*, obj*, obj*, obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerTagAttribute___spec__3(obj*, obj*, obj*, obj*, obj*);
-obj* l_Lean_Environment_hasOpenScopes___boxed(obj*);
obj* l_Lean_AttributeImpl_inhabited___lambda__3(obj*, obj*, uint8, obj*);
obj* l_HashMapImp_find___at_Lean_getAttributeImpl___spec__1(obj*, obj*);
namespace lean {
obj* pop_scope_core(obj*, obj*);
}
-obj* l_Lean_Name_append___main(obj*, obj*);
namespace lean {
obj* nat_mul(obj*, obj*);
}
-obj* l_Lean_Environment_pushScopeCore___lambda__1___boxed(obj*, obj*, obj*, obj*);
obj* l_Lean_mkAttributeMapRef___closed__1;
obj* l_Lean_registerTagAttribute___closed__1;
-namespace lean {
-obj* to_valid_namespace_core(obj*, obj*);
-}
obj* l_IO_Prim_Ref_reset(obj*, obj*, obj*);
obj* l_Lean_getAttributeImpl(obj*, obj*);
-obj* l_Lean_scopeManagerExt___elambda__4(obj*);
obj* l___private_init_data_array_qsort_1__partitionAux___main___at_Lean_registerEnumAttributes___spec__6(obj*);
obj* l_Lean_TagAttribute_hasTag___boxed(obj*, obj*, obj*);
obj* l_Lean_Environment_eraseAttribute___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_AttributeImpl_inhabited;
-obj* l_Lean_regScopeManagerExtension___lambda__3(obj*);
obj* l_Lean_registerTagAttribute___lambda__6___boxed(obj*, obj*, obj*, obj*, obj*);
extern obj* l_String_splitAux___main___closed__1;
-obj* _init_l_Lean_ScopeManagerState_Inhabited___closed__1() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = lean::box(0);
-x_3 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_3, 0, x_1);
-lean::cnstr_set(x_3, 1, x_2);
-lean::cnstr_set(x_3, 2, x_2);
-lean::cnstr_set(x_3, 3, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_ScopeManagerState_Inhabited() {
-_start:
-{
-obj* x_1;
-x_1 = l_Lean_ScopeManagerState_Inhabited___closed__1;
-return x_1;
-}
-}
-obj* l_Lean_ScopeManagerState_saveNamespace(obj* x_1, obj* x_2) {
-_start:
-{
-uint8 x_3;
-x_3 = !lean::is_exclusive(x_1);
-if (x_3 == 0)
-{
-obj* x_4; obj* x_5; obj* x_6;
-x_4 = lean::cnstr_get(x_1, 0);
-x_5 = lean::box(0);
-x_6 = l_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_4, x_2, x_5);
-lean::cnstr_set(x_1, 0, x_6);
-return x_1;
-}
-else
-{
-obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13;
-x_7 = lean::cnstr_get(x_1, 0);
-x_8 = lean::cnstr_get(x_1, 1);
-x_9 = lean::cnstr_get(x_1, 2);
-x_10 = lean::cnstr_get(x_1, 3);
-lean::inc(x_10);
-lean::inc(x_9);
-lean::inc(x_8);
-lean::inc(x_7);
-lean::dec(x_1);
-x_11 = lean::box(0);
-x_12 = l_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_7, x_2, x_11);
-x_13 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_13, 0, x_12);
-lean::cnstr_set(x_13, 1, x_8);
-lean::cnstr_set(x_13, 2, x_9);
-lean::cnstr_set(x_13, 3, x_10);
-return x_13;
-}
-}
-}
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__2(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
-_start:
-{
-obj* x_5; uint8 x_6;
-x_5 = lean::array_get_size(x_2);
-x_6 = lean::nat_dec_lt(x_3, x_5);
-lean::dec(x_5);
-if (x_6 == 0)
-{
-lean::dec(x_3);
-return x_4;
-}
-else
-{
-obj* x_7; obj* x_8; obj* x_9; obj* x_10;
-x_7 = lean::array_fget(x_2, x_3);
-x_8 = l_Lean_ScopeManagerState_saveNamespace(x_4, x_7);
-x_9 = lean::mk_nat_obj(1u);
-x_10 = lean::nat_add(x_3, x_9);
-lean::dec(x_3);
-x_3 = x_10;
-x_4 = x_8;
-goto _start;
-}
-}
-}
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__3(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
-_start:
-{
-obj* x_5; uint8 x_6;
-x_5 = lean::array_get_size(x_2);
-x_6 = lean::nat_dec_lt(x_3, x_5);
-lean::dec(x_5);
-if (x_6 == 0)
-{
-lean::dec(x_3);
-return x_4;
-}
-else
-{
-obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11;
-x_7 = lean::array_fget(x_2, x_3);
-x_8 = lean::mk_nat_obj(0u);
-x_9 = l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__2(x_7, x_7, x_8, x_4);
-lean::dec(x_7);
-x_10 = lean::mk_nat_obj(1u);
-x_11 = lean::nat_add(x_3, x_10);
-lean::dec(x_3);
-x_3 = x_11;
-x_4 = x_9;
-goto _start;
-}
-}
-}
-obj* l_Lean_mkStateFromImportedEntries___at_Lean_regScopeManagerExtension___spec__1(obj* x_1, obj* x_2) {
-_start:
-{
-obj* x_3; obj* x_4;
-x_3 = lean::mk_nat_obj(0u);
-x_4 = l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__3(x_2, x_2, x_3, x_1);
-return x_4;
-}
-}
-obj* l_Lean_regScopeManagerExtension___lambda__1(obj* x_1, obj* x_2) {
-_start:
-{
-uint8 x_3;
-x_3 = !lean::is_exclusive(x_1);
-if (x_3 == 0)
-{
-obj* x_4; obj* x_5; obj* x_6;
-x_4 = lean::cnstr_get(x_1, 0);
-x_5 = lean::box(0);
-x_6 = l_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_4, x_2, x_5);
-lean::cnstr_set(x_1, 0, x_6);
-return x_1;
-}
-else
-{
-obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13;
-x_7 = lean::cnstr_get(x_1, 0);
-x_8 = lean::cnstr_get(x_1, 1);
-x_9 = lean::cnstr_get(x_1, 2);
-x_10 = lean::cnstr_get(x_1, 3);
-lean::inc(x_10);
-lean::inc(x_9);
-lean::inc(x_8);
-lean::inc(x_7);
-lean::dec(x_1);
-x_11 = lean::box(0);
-x_12 = l_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_7, x_2, x_11);
-x_13 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_13, 0, x_12);
-lean::cnstr_set(x_13, 1, x_8);
-lean::cnstr_set(x_13, 2, x_9);
-lean::cnstr_set(x_13, 3, x_10);
-return x_13;
-}
-}
-}
-obj* l_Lean_regScopeManagerExtension___lambda__2(obj* x_1) {
-_start:
-{
-obj* x_2; obj* x_3; obj* x_4;
-x_2 = lean::mk_nat_obj(0u);
-x_3 = l_Lean_ScopeManagerState_Inhabited___closed__1;
-x_4 = l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__3(x_1, x_1, x_2, x_3);
-return x_4;
-}
-}
-obj* l_Lean_regScopeManagerExtension___lambda__3(obj* x_1) {
-_start:
-{
-obj* x_2; obj* x_3; obj* x_4;
-x_2 = l_List_redLength___main___rarg(x_1);
-x_3 = lean::mk_empty_array(x_2);
-lean::dec(x_2);
-x_4 = l_List_toArrayAux___main___rarg(x_1, x_3);
-return x_4;
-}
-}
-obj* _init_l_Lean_regScopeManagerExtension___closed__1() {
-_start:
-{
-obj* x_1;
-x_1 = lean::mk_string("scopes");
-return x_1;
-}
-}
-obj* _init_l_Lean_regScopeManagerExtension___closed__2() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = l_Lean_regScopeManagerExtension___closed__1;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_regScopeManagerExtension___closed__3() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_regScopeManagerExtension___lambda__1), 2, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_regScopeManagerExtension___closed__4() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_regScopeManagerExtension___lambda__2___boxed), 1, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_regScopeManagerExtension___closed__5() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_regScopeManagerExtension___lambda__3), 1, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_regScopeManagerExtension___closed__6() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5;
-x_1 = l_Lean_regScopeManagerExtension___closed__2;
-x_2 = l_Lean_regScopeManagerExtension___closed__3;
-x_3 = l_Lean_regScopeManagerExtension___closed__4;
-x_4 = l_Lean_regScopeManagerExtension___closed__5;
-x_5 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_5, 0, x_1);
-lean::cnstr_set(x_5, 1, x_2);
-lean::cnstr_set(x_5, 2, x_3);
-lean::cnstr_set(x_5, 3, x_4);
-return x_5;
-}
-}
-obj* l_Lean_regScopeManagerExtension(obj* x_1) {
-_start:
-{
-obj* x_2; obj* x_3;
-x_2 = l_Lean_regScopeManagerExtension___closed__6;
-x_3 = l_Lean_registerSimplePersistentEnvExtension___rarg(x_2, x_1);
-return x_3;
-}
-}
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__2___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
-_start:
-{
-obj* x_5;
-x_5 = l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__2(x_1, x_2, x_3, x_4);
-lean::dec(x_2);
-lean::dec(x_1);
-return x_5;
-}
-}
-obj* l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__3___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
-_start:
-{
-obj* x_5;
-x_5 = l_Array_miterateAux___main___at_Lean_regScopeManagerExtension___spec__3(x_1, x_2, x_3, x_4);
-lean::dec(x_2);
-lean::dec(x_1);
-return x_5;
-}
-}
-obj* l_Lean_mkStateFromImportedEntries___at_Lean_regScopeManagerExtension___spec__1___boxed(obj* x_1, obj* x_2) {
-_start:
-{
-obj* x_3;
-x_3 = l_Lean_mkStateFromImportedEntries___at_Lean_regScopeManagerExtension___spec__1(x_1, x_2);
-lean::dec(x_2);
-return x_3;
-}
-}
-obj* l_Lean_regScopeManagerExtension___lambda__2___boxed(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_regScopeManagerExtension___lambda__2(x_1);
-lean::dec(x_1);
-return x_2;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__1(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = lean::box(0);
-return x_2;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__2(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Array_empty___closed__1;
-return x_2;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__3(obj* x_1, obj* x_2) {
-_start:
-{
-lean::inc(x_1);
-return x_1;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___elambda__4___closed__1() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = lean::box(0);
-x_3 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_3, 0, x_2);
-lean::cnstr_set(x_3, 1, x_1);
-lean::cnstr_set(x_3, 2, x_1);
-lean::cnstr_set(x_3, 3, x_1);
-return x_3;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___elambda__4___closed__2() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = l_Lean_scopeManagerExt___elambda__4___closed__1;
-x_3 = lean::alloc_cnstr(0, 2, 0);
-lean::cnstr_set(x_3, 0, x_1);
-lean::cnstr_set(x_3, 1, x_2);
-return x_3;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__4(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_scopeManagerExt___elambda__4___closed__2;
-return x_2;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___lambda__1___closed__1() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Array_empty___closed__1;
-x_2 = l_Lean_scopeManagerExt___elambda__4___closed__2;
-x_3 = lean::alloc_cnstr(0, 2, 0);
-lean::cnstr_set(x_3, 0, x_1);
-lean::cnstr_set(x_3, 1, x_2);
-return x_3;
-}
-}
-obj* l_Lean_scopeManagerExt___lambda__1(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_scopeManagerExt___lambda__1___closed__1;
-return x_2;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__1() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_scopeManagerExt___lambda__1___boxed), 1, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__2() {
-_start:
-{
-obj* x_1; obj* x_2;
-x_1 = l_Lean_scopeManagerExt___closed__1;
-x_2 = lean::mk_thunk(x_1);
-return x_2;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__3() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::mk_nat_obj(0u);
-x_2 = l_Lean_scopeManagerExt___closed__2;
-x_3 = lean::alloc_cnstr(0, 2, 0);
-lean::cnstr_set(x_3, 0, x_1);
-lean::cnstr_set(x_3, 1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__4() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_scopeManagerExt___elambda__4___boxed), 1, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__5() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_scopeManagerExt___elambda__3___boxed), 2, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__6() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_scopeManagerExt___elambda__2___boxed), 1, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__7() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_scopeManagerExt___elambda__1___boxed), 1, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_scopeManagerExt___closed__8() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7;
-x_1 = l_Lean_scopeManagerExt___closed__3;
-x_2 = lean::box(0);
-x_3 = l_Lean_scopeManagerExt___closed__4;
-x_4 = l_Lean_scopeManagerExt___closed__5;
-x_5 = l_Lean_scopeManagerExt___closed__6;
-x_6 = l_Lean_scopeManagerExt___closed__7;
-x_7 = lean::alloc_cnstr(0, 6, 0);
-lean::cnstr_set(x_7, 0, x_1);
-lean::cnstr_set(x_7, 1, x_2);
-lean::cnstr_set(x_7, 2, x_3);
-lean::cnstr_set(x_7, 3, x_4);
-lean::cnstr_set(x_7, 4, x_5);
-lean::cnstr_set(x_7, 5, x_6);
-return x_7;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__1___boxed(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_scopeManagerExt___elambda__1(x_1);
-lean::dec(x_1);
-return x_2;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__2___boxed(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_scopeManagerExt___elambda__2(x_1);
-lean::dec(x_1);
-return x_2;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__3___boxed(obj* x_1, obj* x_2) {
-_start:
-{
-obj* x_3;
-x_3 = l_Lean_scopeManagerExt___elambda__3(x_1, x_2);
-lean::dec(x_2);
-lean::dec(x_1);
-return x_3;
-}
-}
-obj* l_Lean_scopeManagerExt___elambda__4___boxed(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_scopeManagerExt___elambda__4(x_1);
-lean::dec(x_1);
-return x_2;
-}
-}
-obj* l_Lean_scopeManagerExt___lambda__1___boxed(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_scopeManagerExt___lambda__1(x_1);
-lean::dec(x_1);
-return x_2;
-}
-}
-namespace lean {
-obj* get_namespaces_core(obj* x_1) {
-_start:
-{
-obj* x_2; obj* x_3; obj* x_4;
-x_2 = l_Lean_scopeManagerExt;
-x_3 = l_Lean_SimplePersistentEnvExtension_getState___rarg(x_2, x_1);
-lean::dec(x_1);
-x_4 = lean::cnstr_get(x_3, 1);
-lean::inc(x_4);
-lean::dec(x_3);
-return x_4;
-}
-}
-}
-obj* l_Lean_Environment_getNamespaceSet(obj* x_1) {
-_start:
-{
-obj* x_2; obj* x_3; obj* x_4;
-x_2 = l_Lean_scopeManagerExt;
-x_3 = l_Lean_SimplePersistentEnvExtension_getState___rarg(x_2, x_1);
-x_4 = lean::cnstr_get(x_3, 0);
-lean::inc(x_4);
-lean::dec(x_3);
-return x_4;
-}
-}
-obj* l_Lean_Environment_getNamespaceSet___boxed(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_Environment_getNamespaceSet(x_1);
-lean::dec(x_1);
-return x_2;
-}
-}
-namespace lean {
-uint8 is_namespace_core(obj* x_1, obj* x_2) {
-_start:
-{
-obj* x_3; uint8 x_4;
-x_3 = l_Lean_Environment_getNamespaceSet(x_1);
-lean::dec(x_1);
-x_4 = l_Lean_NameSet_contains(x_3, x_2);
-lean::dec(x_2);
-lean::dec(x_3);
-return x_4;
-}
-}
-}
-obj* l_Lean_Environment_isNamespace___boxed(obj* x_1, obj* x_2) {
-_start:
-{
-uint8 x_3; obj* x_4;
-x_3 = lean::is_namespace_core(x_1, x_2);
-x_4 = lean::box(x_3);
-return x_4;
-}
-}
-namespace lean {
-uint8 in_section_core(obj* x_1) {
-_start:
-{
-obj* x_2; obj* x_3; obj* x_4;
-x_2 = l_Lean_scopeManagerExt;
-x_3 = l_Lean_SimplePersistentEnvExtension_getState___rarg(x_2, x_1);
-lean::dec(x_1);
-x_4 = lean::cnstr_get(x_3, 3);
-lean::inc(x_4);
-lean::dec(x_3);
-if (lean::obj_tag(x_4) == 0)
-{
-uint8 x_5;
-x_5 = 0;
-return x_5;
-}
-else
-{
-obj* x_6; uint8 x_7;
-x_6 = lean::cnstr_get(x_4, 0);
-lean::inc(x_6);
-lean::dec(x_4);
-x_7 = lean::unbox(x_6);
-lean::dec(x_6);
-if (x_7 == 0)
-{
-uint8 x_8;
-x_8 = 1;
-return x_8;
-}
-else
-{
-uint8 x_9;
-x_9 = 0;
-return x_9;
-}
-}
-}
-}
-}
-obj* l_Lean_Environment_inSection___boxed(obj* x_1) {
-_start:
-{
-uint8 x_2; obj* x_3;
-x_2 = lean::in_section_core(x_1);
-x_3 = lean::box(x_2);
-return x_3;
-}
-}
-namespace lean {
-uint8 has_open_scopes_core(obj* x_1) {
-_start:
-{
-obj* x_2; uint8 x_3;
-x_2 = lean::get_namespaces_core(x_1);
-x_3 = l_List_isEmpty___main___rarg(x_2);
-lean::dec(x_2);
-if (x_3 == 0)
-{
-uint8 x_4;
-x_4 = 1;
-return x_4;
-}
-else
-{
-uint8 x_5;
-x_5 = 0;
-return x_5;
-}
-}
-}
-}
-obj* l_Lean_Environment_hasOpenScopes___boxed(obj* x_1) {
-_start:
-{
-uint8 x_2; obj* x_3;
-x_2 = lean::has_open_scopes_core(x_1);
-x_3 = lean::box(x_2);
-return x_3;
-}
-}
-namespace lean {
-obj* get_namespace_core(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = lean::get_namespaces_core(x_1);
-if (lean::obj_tag(x_2) == 0)
-{
-obj* x_3;
-x_3 = lean::box(0);
-return x_3;
-}
-else
-{
-obj* x_4;
-x_4 = lean::cnstr_get(x_2, 0);
-lean::inc(x_4);
-lean::dec(x_2);
-return x_4;
-}
-}
-}
-}
-namespace lean {
-obj* get_scope_header_core(obj* x_1) {
-_start:
-{
-obj* x_2; obj* x_3; obj* x_4;
-x_2 = l_Lean_scopeManagerExt;
-x_3 = l_Lean_SimplePersistentEnvExtension_getState___rarg(x_2, x_1);
-lean::dec(x_1);
-x_4 = lean::cnstr_get(x_3, 2);
-lean::inc(x_4);
-lean::dec(x_3);
-if (lean::obj_tag(x_4) == 0)
-{
-obj* x_5;
-x_5 = lean::box(0);
-return x_5;
-}
-else
-{
-obj* x_6;
-x_6 = lean::cnstr_get(x_4, 0);
-lean::inc(x_6);
-lean::dec(x_4);
-return x_6;
-}
-}
-}
-}
-obj* l_List_foldl___main___at_Lean_Environment_toValidNamespace___spec__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
-_start:
-{
-if (lean::obj_tag(x_4) == 0)
-{
-lean::dec(x_1);
-return x_3;
-}
-else
-{
-if (lean::obj_tag(x_3) == 0)
-{
-obj* x_5; obj* x_6; obj* x_7; uint8 x_8;
-x_5 = lean::cnstr_get(x_4, 0);
-x_6 = lean::cnstr_get(x_4, 1);
-lean::inc(x_1);
-x_7 = l_Lean_Name_append___main(x_5, x_1);
-x_8 = l_Lean_NameSet_contains(x_2, x_7);
-if (x_8 == 0)
-{
-lean::dec(x_7);
-x_4 = x_6;
-goto _start;
-}
-else
-{
-obj* x_10;
-x_10 = lean::alloc_cnstr(1, 1, 0);
-lean::cnstr_set(x_10, 0, x_7);
-x_3 = x_10;
-x_4 = x_6;
-goto _start;
-}
-}
-else
-{
-obj* x_12;
-x_12 = lean::cnstr_get(x_4, 1);
-x_4 = x_12;
-goto _start;
-}
-}
-}
-}
-namespace lean {
-obj* to_valid_namespace_core(obj* x_1, obj* x_2) {
-_start:
-{
-obj* x_3; obj* x_4; obj* x_5; uint8 x_6;
-x_3 = l_Lean_scopeManagerExt;
-x_4 = l_Lean_SimplePersistentEnvExtension_getState___rarg(x_3, x_1);
-lean::dec(x_1);
-x_5 = lean::cnstr_get(x_4, 0);
-lean::inc(x_5);
-x_6 = l_Lean_NameSet_contains(x_5, x_2);
-if (x_6 == 0)
-{
-obj* x_7; obj* x_8; obj* x_9;
-x_7 = lean::box(0);
-x_8 = lean::cnstr_get(x_4, 1);
-lean::inc(x_8);
-lean::dec(x_4);
-x_9 = l_List_foldl___main___at_Lean_Environment_toValidNamespace___spec__1(x_2, x_5, x_7, x_8);
-lean::dec(x_8);
-lean::dec(x_5);
-return x_9;
-}
-else
-{
-obj* x_10;
-lean::dec(x_5);
-lean::dec(x_4);
-x_10 = lean::alloc_cnstr(1, 1, 0);
-lean::cnstr_set(x_10, 0, x_2);
-return x_10;
-}
-}
-}
-}
-obj* l_List_foldl___main___at_Lean_Environment_toValidNamespace___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
-_start:
-{
-obj* x_5;
-x_5 = l_List_foldl___main___at_Lean_Environment_toValidNamespace___spec__1(x_1, x_2, x_3, x_4);
-lean::dec(x_4);
-lean::dec(x_2);
-return x_5;
-}
-}
-obj* l_Lean_Environment_registerNamespaceAux(obj* x_1, obj* x_2) {
-_start:
-{
-obj* x_3; uint8 x_4;
-x_3 = l_Lean_Environment_getNamespaceSet(x_1);
-x_4 = l_Lean_NameSet_contains(x_3, x_2);
-lean::dec(x_3);
-if (x_4 == 0)
-{
-obj* x_5; obj* x_6;
-x_5 = l_Lean_scopeManagerExt;
-x_6 = l_Lean_PersistentEnvExtension_addEntry___rarg(x_5, x_1, x_2);
-return x_6;
-}
-else
-{
-lean::dec(x_2);
-return x_1;
-}
-}
-}
-obj* l_Lean_Environment_registerNamespace___main(obj* x_1, obj* x_2) {
-_start:
-{
-if (lean::obj_tag(x_2) == 1)
-{
-obj* x_3; obj* x_4;
-x_3 = lean::cnstr_get(x_2, 0);
-lean::inc(x_3);
-x_4 = l_Lean_Environment_registerNamespaceAux(x_1, x_2);
-x_1 = x_4;
-x_2 = x_3;
-goto _start;
-}
-else
-{
-lean::dec(x_2);
-return x_1;
-}
-}
-}
-namespace lean {
-obj* register_namespace_core(obj* x_1, obj* x_2) {
-_start:
-{
-obj* x_3;
-x_3 = l_Lean_Environment_registerNamespace___main(x_1, x_2);
-return x_3;
-}
-}
-}
-obj* l_Lean_Environment_pushScopeCore___lambda__1(obj* x_1, obj* x_2, uint8 x_3, obj* x_4) {
-_start:
-{
-uint8 x_5;
-x_5 = !lean::is_exclusive(x_4);
-if (x_5 == 0)
-{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12;
-x_6 = lean::cnstr_get(x_4, 1);
-x_7 = lean::cnstr_get(x_4, 2);
-x_8 = lean::cnstr_get(x_4, 3);
-x_9 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_9, 0, x_1);
-lean::cnstr_set(x_9, 1, x_6);
-x_10 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_10, 0, x_2);
-lean::cnstr_set(x_10, 1, x_7);
-x_11 = lean::box(x_3);
-x_12 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_12, 0, x_11);
-lean::cnstr_set(x_12, 1, x_8);
-lean::cnstr_set(x_4, 3, x_12);
-lean::cnstr_set(x_4, 2, x_10);
-lean::cnstr_set(x_4, 1, x_9);
-return x_4;
-}
-else
-{
-obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21;
-x_13 = lean::cnstr_get(x_4, 0);
-x_14 = lean::cnstr_get(x_4, 1);
-x_15 = lean::cnstr_get(x_4, 2);
-x_16 = lean::cnstr_get(x_4, 3);
-lean::inc(x_16);
-lean::inc(x_15);
-lean::inc(x_14);
-lean::inc(x_13);
-lean::dec(x_4);
-x_17 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_17, 0, x_1);
-lean::cnstr_set(x_17, 1, x_14);
-x_18 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_18, 0, x_2);
-lean::cnstr_set(x_18, 1, x_15);
-x_19 = lean::box(x_3);
-x_20 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_20, 0, x_19);
-lean::cnstr_set(x_20, 1, x_16);
-x_21 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_21, 0, x_13);
-lean::cnstr_set(x_21, 1, x_17);
-lean::cnstr_set(x_21, 2, x_18);
-lean::cnstr_set(x_21, 3, x_20);
-return x_21;
-}
-}
-}
-obj* l_Lean_Environment_pushScopeCore(obj* x_1, obj* x_2, uint8 x_3) {
-_start:
-{
-obj* x_4;
-lean::inc(x_1);
-x_4 = lean::get_namespace_core(x_1);
-if (x_3 == 0)
-{
-obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9;
-lean::inc(x_4);
-x_5 = l_Lean_Environment_registerNamespaceAux(x_1, x_4);
-x_6 = lean::box(x_3);
-x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Environment_pushScopeCore___lambda__1___boxed), 4, 3);
-lean::closure_set(x_7, 0, x_4);
-lean::closure_set(x_7, 1, x_2);
-lean::closure_set(x_7, 2, x_6);
-x_8 = l_Lean_scopeManagerExt;
-x_9 = l_Lean_SimplePersistentEnvExtension_modifyState___rarg(x_8, x_5, x_7);
-return x_9;
-}
-else
-{
-obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15;
-lean::inc(x_2);
-x_10 = l_Lean_Name_append___main(x_4, x_2);
-lean::dec(x_4);
-lean::inc(x_10);
-x_11 = l_Lean_Environment_registerNamespaceAux(x_1, x_10);
-x_12 = lean::box(x_3);
-x_13 = lean::alloc_closure(reinterpret_cast(l_Lean_Environment_pushScopeCore___lambda__1___boxed), 4, 3);
-lean::closure_set(x_13, 0, x_10);
-lean::closure_set(x_13, 1, x_2);
-lean::closure_set(x_13, 2, x_12);
-x_14 = l_Lean_scopeManagerExt;
-x_15 = l_Lean_SimplePersistentEnvExtension_modifyState___rarg(x_14, x_11, x_13);
-return x_15;
-}
-}
-}
-obj* l_Lean_Environment_pushScopeCore___lambda__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
-_start:
-{
-uint8 x_5; obj* x_6;
-x_5 = lean::unbox(x_3);
-lean::dec(x_3);
-x_6 = l_Lean_Environment_pushScopeCore___lambda__1(x_1, x_2, x_5, x_4);
-return x_6;
-}
-}
-obj* l_Lean_Environment_pushScopeCore___boxed(obj* x_1, obj* x_2, obj* x_3) {
-_start:
-{
-uint8 x_4; obj* x_5;
-x_4 = lean::unbox(x_3);
-lean::dec(x_3);
-x_5 = l_Lean_Environment_pushScopeCore(x_1, x_2, x_4);
-return x_5;
-}
-}
-obj* l_Lean_Environment_popScopeCore___lambda__1(obj* x_1) {
-_start:
-{
-uint8 x_2;
-x_2 = !lean::is_exclusive(x_1);
-if (x_2 == 0)
-{
-obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8;
-x_3 = lean::cnstr_get(x_1, 1);
-x_4 = lean::cnstr_get(x_1, 2);
-x_5 = lean::cnstr_get(x_1, 3);
-x_6 = l_List_tail___main___rarg(x_3);
-lean::dec(x_3);
-x_7 = l_List_tail___main___rarg(x_4);
-lean::dec(x_4);
-x_8 = l_List_tail___main___rarg(x_5);
-lean::dec(x_5);
-lean::cnstr_set(x_1, 3, x_8);
-lean::cnstr_set(x_1, 2, x_7);
-lean::cnstr_set(x_1, 1, x_6);
-return x_1;
-}
-else
-{
-obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16;
-x_9 = lean::cnstr_get(x_1, 0);
-x_10 = lean::cnstr_get(x_1, 1);
-x_11 = lean::cnstr_get(x_1, 2);
-x_12 = lean::cnstr_get(x_1, 3);
-lean::inc(x_12);
-lean::inc(x_11);
-lean::inc(x_10);
-lean::inc(x_9);
-lean::dec(x_1);
-x_13 = l_List_tail___main___rarg(x_10);
-lean::dec(x_10);
-x_14 = l_List_tail___main___rarg(x_11);
-lean::dec(x_11);
-x_15 = l_List_tail___main___rarg(x_12);
-lean::dec(x_12);
-x_16 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_16, 0, x_9);
-lean::cnstr_set(x_16, 1, x_13);
-lean::cnstr_set(x_16, 2, x_14);
-lean::cnstr_set(x_16, 3, x_15);
-return x_16;
-}
-}
-}
-obj* _init_l_Lean_Environment_popScopeCore___closed__1() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Environment_popScopeCore___lambda__1), 1, 0);
-return x_1;
-}
-}
-obj* l_Lean_Environment_popScopeCore(obj* x_1) {
-_start:
-{
-obj* x_2; uint8 x_3;
-lean::inc(x_1);
-x_2 = lean::get_namespaces_core(x_1);
-x_3 = l_List_isEmpty___main___rarg(x_2);
-lean::dec(x_2);
-if (x_3 == 0)
-{
-obj* x_4; obj* x_5; obj* x_6;
-x_4 = l_Lean_scopeManagerExt;
-x_5 = l_Lean_Environment_popScopeCore___closed__1;
-x_6 = l_Lean_SimplePersistentEnvExtension_modifyState___rarg(x_4, x_1, x_5);
-return x_6;
-}
-else
-{
-return x_1;
-}
-}
-}
obj* l_Lean_AttributeImpl_inhabited___lambda__1(obj* x_1, obj* x_2, obj* x_3, uint8 x_4, obj* x_5) {
_start:
{
@@ -9806,77 +8703,17 @@ lean::dec(x_1);
return x_2;
}
}
-obj* initialize_init_lean_environment(obj*);
+obj* initialize_init_lean_scopes(obj*);
obj* initialize_init_lean_syntax(obj*);
static bool _G_initialized = false;
obj* initialize_init_lean_attributes(obj* w) {
if (_G_initialized) return w;
_G_initialized = true;
if (io_result_is_error(w)) return w;
-w = initialize_init_lean_environment(w);
+w = initialize_init_lean_scopes(w);
if (io_result_is_error(w)) return w;
w = initialize_init_lean_syntax(w);
if (io_result_is_error(w)) return w;
-l_Lean_ScopeManagerState_Inhabited___closed__1 = _init_l_Lean_ScopeManagerState_Inhabited___closed__1();
-lean::mark_persistent(l_Lean_ScopeManagerState_Inhabited___closed__1);
-l_Lean_ScopeManagerState_Inhabited = _init_l_Lean_ScopeManagerState_Inhabited();
-lean::mark_persistent(l_Lean_ScopeManagerState_Inhabited);
-lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "ScopeManagerState"), "Inhabited"), l_Lean_ScopeManagerState_Inhabited);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "ScopeManagerState"), "saveNamespace"), 2, l_Lean_ScopeManagerState_saveNamespace);
-l_Lean_regScopeManagerExtension___closed__1 = _init_l_Lean_regScopeManagerExtension___closed__1();
-lean::mark_persistent(l_Lean_regScopeManagerExtension___closed__1);
-l_Lean_regScopeManagerExtension___closed__2 = _init_l_Lean_regScopeManagerExtension___closed__2();
-lean::mark_persistent(l_Lean_regScopeManagerExtension___closed__2);
-l_Lean_regScopeManagerExtension___closed__3 = _init_l_Lean_regScopeManagerExtension___closed__3();
-lean::mark_persistent(l_Lean_regScopeManagerExtension___closed__3);
-l_Lean_regScopeManagerExtension___closed__4 = _init_l_Lean_regScopeManagerExtension___closed__4();
-lean::mark_persistent(l_Lean_regScopeManagerExtension___closed__4);
-l_Lean_regScopeManagerExtension___closed__5 = _init_l_Lean_regScopeManagerExtension___closed__5();
-lean::mark_persistent(l_Lean_regScopeManagerExtension___closed__5);
-l_Lean_regScopeManagerExtension___closed__6 = _init_l_Lean_regScopeManagerExtension___closed__6();
-lean::mark_persistent(l_Lean_regScopeManagerExtension___closed__6);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name("Lean"), "regScopeManagerExtension"), 1, l_Lean_regScopeManagerExtension);
-l_Lean_scopeManagerExt___elambda__4___closed__1 = _init_l_Lean_scopeManagerExt___elambda__4___closed__1();
-lean::mark_persistent(l_Lean_scopeManagerExt___elambda__4___closed__1);
-l_Lean_scopeManagerExt___elambda__4___closed__2 = _init_l_Lean_scopeManagerExt___elambda__4___closed__2();
-lean::mark_persistent(l_Lean_scopeManagerExt___elambda__4___closed__2);
-l_Lean_scopeManagerExt___lambda__1___closed__1 = _init_l_Lean_scopeManagerExt___lambda__1___closed__1();
-lean::mark_persistent(l_Lean_scopeManagerExt___lambda__1___closed__1);
-l_Lean_scopeManagerExt___closed__1 = _init_l_Lean_scopeManagerExt___closed__1();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__1);
-l_Lean_scopeManagerExt___closed__2 = _init_l_Lean_scopeManagerExt___closed__2();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__2);
-l_Lean_scopeManagerExt___closed__3 = _init_l_Lean_scopeManagerExt___closed__3();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__3);
-l_Lean_scopeManagerExt___closed__4 = _init_l_Lean_scopeManagerExt___closed__4();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__4);
-l_Lean_scopeManagerExt___closed__5 = _init_l_Lean_scopeManagerExt___closed__5();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__5);
-l_Lean_scopeManagerExt___closed__6 = _init_l_Lean_scopeManagerExt___closed__6();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__6);
-l_Lean_scopeManagerExt___closed__7 = _init_l_Lean_scopeManagerExt___closed__7();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__7);
-l_Lean_scopeManagerExt___closed__8 = _init_l_Lean_scopeManagerExt___closed__8();
-lean::mark_persistent(l_Lean_scopeManagerExt___closed__8);
-w = l_Lean_regScopeManagerExtension(w);
-if (io_result_is_error(w)) return w;
-l_Lean_scopeManagerExt = io_result_get_value(w);
-lean::mark_persistent(l_Lean_scopeManagerExt);
-lean::register_constant(lean::mk_const_name(lean::mk_const_name("Lean"), "scopeManagerExt"), l_Lean_scopeManagerExt);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "getNamespaces"), 1, lean::get_namespaces_core);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "getNamespaceSet"), 1, l_Lean_Environment_getNamespaceSet___boxed);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "isNamespace"), 2, l_Lean_Environment_isNamespace___boxed);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "inSection"), 1, l_Lean_Environment_inSection___boxed);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "hasOpenScopes"), 1, l_Lean_Environment_hasOpenScopes___boxed);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "getNamespace"), 1, lean::get_namespace_core);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "getScopeHeader"), 1, lean::get_scope_header_core);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "toValidNamespace"), 2, lean::to_valid_namespace_core);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "registerNamespaceAux"), 2, l_Lean_Environment_registerNamespaceAux);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "registerNamespace"), 2, lean::register_namespace_core);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "pushScopeCore"), 3, l_Lean_Environment_pushScopeCore___boxed);
-l_Lean_Environment_popScopeCore___closed__1 = _init_l_Lean_Environment_popScopeCore___closed__1();
-lean::mark_persistent(l_Lean_Environment_popScopeCore___closed__1);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Environment"), "popScopeCore"), 1, l_Lean_Environment_popScopeCore);
l_Lean_AttributeImpl_inhabited___lambda__2___closed__1 = _init_l_Lean_AttributeImpl_inhabited___lambda__2___closed__1();
lean::mark_persistent(l_Lean_AttributeImpl_inhabited___lambda__2___closed__1);
l_Lean_AttributeImpl_inhabited___lambda__2___closed__2 = _init_l_Lean_AttributeImpl_inhabited___lambda__2___closed__2();
diff --git a/src/stage0/init/lean/parser/command.cpp b/src/stage0/init/lean/parser/command.cpp
index 64d123d19c..8726a46bca 100644
--- a/src/stage0/init/lean/parser/command.cpp
+++ b/src/stage0/init/lean/parser/command.cpp
@@ -21,7 +21,7 @@ obj* l_Lean_Parser_Command_postfix___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Command_declModifiers___closed__3;
obj* l_Lean_Parser_Command_docComment___elambda__1___closed__4;
obj* l_Lean_Parser_Command_infix___elambda__1___rarg___closed__6;
-extern obj* l_Lean_Parser_Term_id___closed__2;
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Command_attrInstance___elambda__1___closed__2;
obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Command_declId___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Command_constant___elambda__1___closed__7;
@@ -58,6 +58,7 @@ obj* l_Lean_Parser_Command_noncomputable___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Command_structCtor___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_commandParser___lambda__1___boxed(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Command_namespace___closed__4;
+obj* l_Lean_Parser_Command_openSimple___elambda__1___closed__1;
obj* l_Lean_Parser_Command_maxPrec___closed__1;
obj* l_Lean_Parser_Command_declId___elambda__1___closed__2;
obj* l_Lean_Parser_Command_declaration___elambda__1(obj*, obj*, obj*);
@@ -76,7 +77,6 @@ obj* l_Lean_Parser_Command_infixr___closed__1;
extern obj* l_Lean_Parser_Term_optType;
obj* l_Lean_Parser_Command_constant___closed__3;
obj* l_Lean_Parser_Command_universes___elambda__1___closed__5;
-extern obj* l_Lean_Parser_Term_id___elambda__1___closed__6;
obj* l_Lean_Parser_Command_example___elambda__1___closed__7;
obj* l_Lean_Parser_Command_unsafe___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_rawIdentFn(obj*, obj*);
@@ -96,7 +96,6 @@ extern obj* l_Lean_Parser_Term_cons___elambda__1___closed__3;
obj* l___regBuiltinParser_Lean_Parser_Command_section(obj*);
obj* l_Lean_Parser_Command_partial___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___spec__1(uint8, uint8, obj*, obj*, obj*);
-extern obj* l_Lean_Parser_Term_id___closed__3;
obj* l_Lean_Parser_Command_attributes___elambda__1___closed__6;
obj* l_Lean_FileMap_toPosition___main(obj*, obj*);
obj* l_Lean_Parser_Command_commentBody___elambda__1(obj*, obj*, obj*);
@@ -139,6 +138,7 @@ obj* l_Lean_Parser_Command_precedence___closed__2;
obj* l_Lean_Parser_Command_attrArg___closed__4;
obj* l_Lean_Parser_Command_mixfixKind___closed__2;
obj* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
+obj* l_Lean_Parser_Command_exit___closed__3;
obj* l_Lean_Parser_Command_inferMod___closed__2;
obj* l_Lean_Parser_Command_precedence;
obj* l_Lean_Parser_Command_openRenaming;
@@ -185,12 +185,13 @@ obj* l_Lean_Parser_Command_declaration___closed__2;
obj* l_Lean_Parser_Command_namespace___closed__1;
obj* l_Lean_Parser_Command_classTk___elambda__1(obj*);
obj* l_Lean_Parser_Command_structImplicitBinder___closed__7;
+obj* l_Lean_Parser_Command_exit___elambda__1(obj*);
obj* l_Lean_Parser_Command_openRenaming___closed__4;
obj* l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Command_declSig;
-extern obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
obj* l_Lean_Parser_Command_protected___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_classInductive___closed__3;
+extern obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6;
obj* l_Lean_Parser_Command_example___elambda__1___closed__2;
obj* l_Lean_Parser_Command_declaration___closed__1;
obj* l_Lean_Parser_Command_noncomputable___closed__2;
@@ -202,6 +203,7 @@ obj* l_Lean_Parser_Command_open;
obj* l_Lean_Parser_Command_infix___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
obj* l_Lean_Parser_Command_end___closed__5;
+obj* l_Lean_Parser_Command_openSimple___elambda__1(obj*, obj*, obj*);
extern obj* l_Lean_Parser_Term_typeAscription___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Command_strictInferMod___closed__1;
obj* l_Lean_Parser_Command_attributes___elambda__1___boxed(obj*, obj*, obj*);
@@ -274,7 +276,6 @@ obj* l_Lean_Parser_Command_example___elambda__1___closed__6;
obj* l_Lean_Parser_Command_structure___closed__9;
obj* l_Lean_Parser_Command_private___closed__4;
obj* l_Lean_Parser_Command_section___elambda__1___rarg___closed__7;
-extern obj* l_Lean_Parser_Term_id___elambda__1___closed__11;
obj* l_Lean_Parser_Command_declId___closed__2;
obj* l_Lean_Parser_Command_universe;
obj* l_Lean_Parser_Command_universes___closed__1;
@@ -308,6 +309,7 @@ obj* l_Lean_Parser_Command_declId___closed__6;
obj* l_Lean_Parser_Command_variable___elambda__1___closed__5;
obj* l_Lean_Parser_Command_set__option___closed__8;
obj* l_Lean_Parser_Command_set__option___elambda__1___rarg___closed__7;
+obj* l_Lean_Parser_Command_exit;
obj* l_Lean_Parser_Command_introRule___closed__5;
obj* l_Lean_Parser_Command_end___closed__2;
obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
@@ -332,6 +334,7 @@ obj* l_Lean_Parser_Command_partial___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_attributes___elambda__1___closed__5;
obj* l_Lean_Parser_Command_mixfixKind___closed__1;
obj* l_Lean_Parser_Command_theorem___elambda__1___closed__1;
+obj* l_Lean_Parser_Command_exit___closed__2;
obj* l_Lean_Parser_Command_openRenaming___elambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_init__quot___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_mixfixSymbol___elambda__1___boxed(obj*, obj*, obj*);
@@ -346,6 +349,7 @@ obj* l_Lean_Parser_Command_partial___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Command_postfix___elambda__1(obj*);
obj* l_Lean_Parser_Command_openRenamingItem___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Command_openRenamingItem___closed__5;
+extern obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
obj* l_Lean_Parser_Command_section___closed__3;
obj* l_Lean_Parser_Command_notation___closed__2;
obj* l_Lean_Parser_Command_relaxedInferMod;
@@ -367,7 +371,6 @@ obj* l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
obj* l_Lean_Parser_Command_declaration___closed__10;
obj* l_Lean_Parser_Command_structExplicitBinder___closed__7;
obj* l_Lean_Parser_Command_axiom___closed__4;
-obj* l_Lean_Parser_Command_open___closed__10;
obj* l___regBuiltinParser_Lean_Parser_Command_set__option(obj*);
obj* l_Lean_Parser_Command_declValSimple___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_inductive___elambda__1___closed__4;
@@ -381,6 +384,7 @@ obj* l_Lean_Parser_Command_postfix___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Command_structureTk___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Command_unsafe___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Command_structImplicitBinder___closed__5;
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Command_protected___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Command_init__quot;
extern obj* l_Bool_HasRepr___closed__2;
@@ -403,7 +407,6 @@ obj* l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
extern obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_declValEqns___spec__2___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Command_theorem___closed__4;
-obj* l_Lean_Parser_Command_open___closed__11;
obj* l_Lean_Parser_Command_attrArg___elambda__1(obj*);
obj* l_Lean_Parser_Command_classInductive___elambda__1___closed__7;
obj* l_Lean_Parser_Command_section___closed__1;
@@ -428,7 +431,6 @@ obj* l_Lean_Parser_Command_strictInferMod___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_reserve;
obj* l_Lean_Parser_Command_abbrev___closed__7;
obj* l_Lean_Parser_Command_unsafe___elambda__1___rarg___closed__7;
-obj* l_Lean_Parser_Command_openOnly___closed__6;
extern obj* l_Lean_Parser_Term_list___elambda__1___closed__4;
obj* l_Lean_Parser_Command_example___closed__2;
extern obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__6;
@@ -436,6 +438,7 @@ obj* l_Lean_Parser_Command_open___closed__3;
obj* l_Lean_Parser_Command_declModifiers___closed__1;
obj* l_Lean_Parser_Command_docComment___elambda__1___closed__8;
obj* l_Lean_Parser_Command_inferMod___elambda__1___rarg(obj*, obj*);
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Command_inductive___elambda__1___closed__1;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_declValEqns___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Command_partial___elambda__1___rarg(obj*, obj*);
@@ -445,6 +448,7 @@ obj* l_Lean_Parser_Command_classTk___closed__2;
obj* l___regBuiltinParser_Lean_Parser_Command_export(obj*);
obj* l_Lean_Parser_Command_theorem___closed__6;
obj* l_Lean_Parser_Command_infix___closed__3;
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_attribute___elambda__1___closed__1;
obj* l_Lean_Parser_Term_binderDefault___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Command_visibility___elambda__1(obj*);
@@ -458,6 +462,7 @@ obj* l_Lean_Parser_ParserState_mkNode(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_mixfixKind___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_attribute___closed__3;
obj* l_Lean_Parser_Command_partial___closed__1;
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Command_universes___elambda__1___closed__2;
obj* l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
obj* l_Lean_Parser_Command_abbrev___elambda__1___closed__5;
@@ -489,6 +494,7 @@ obj* l_Lean_Parser_Command_structInstBinder___closed__1;
obj* l_Lean_Parser_Command_extends___elambda__1___closed__6;
obj* l_Lean_Parser_Command_set__option___closed__9;
obj* l_Lean_Parser_Command_check___closed__3;
+obj* l_Lean_Parser_Command_openSimple___elambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_partial;
obj* l_Lean_Parser_Command_def___elambda__1___closed__1;
obj* l_Lean_Parser_Command_universe___elambda__1___rarg___closed__6;
@@ -505,6 +511,7 @@ obj* l_Lean_Parser_Command_notation___closed__9;
obj* l_Lean_Parser_Command_docComment___elambda__1___closed__1;
obj* l_Lean_Parser_Command_identPrec___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_classTk___closed__3;
+extern obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
obj* l_Lean_Parser_Command_protected___closed__1;
obj* l_Lean_Parser_Command_set__option___closed__1;
obj* l_Lean_Parser_Command_attrInstance;
@@ -512,6 +519,7 @@ obj* l_Lean_Parser_Command_theorem___elambda__1___closed__6;
obj* l_Lean_Parser_Command_attributes___elambda__1___closed__3;
obj* l_Lean_Parser_Command_openOnly___elambda__1___closed__1;
obj* l_Lean_Parser_Command_export___closed__1;
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__6;
namespace lean {
obj* string_append(obj*, obj*);
}
@@ -579,7 +587,6 @@ obj* l_Lean_Parser_Command_attrInstance___elambda__1___closed__1;
obj* l_Lean_Parser_tokenFn(obj*, obj*);
obj* l_Lean_Parser_Command_section___closed__6;
obj* l_Lean_Parser_Command_precedenceLit___closed__2;
-extern obj* l_Lean_Parser_Term_id___closed__4;
extern obj* l_Char_HasRepr___closed__1;
obj* l_Lean_Parser_Command_attribute___closed__8;
obj* l_Lean_Parser_mkCommandParserAttribute(obj*);
@@ -624,6 +631,7 @@ obj* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__1;
obj* l_Lean_Parser_Command_reserve___elambda__1___closed__7;
obj* l_Lean_Parser_Command_openRenamingItem___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Command_instance___elambda__1___closed__1;
+obj* l_Lean_Parser_Command_exit___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_notation___closed__1;
obj* l_Lean_Parser_Command_check;
obj* l_Lean_Parser_Command_extends___elambda__1___closed__5;
@@ -688,11 +696,13 @@ obj* l_Lean_Parser_Command_structExplicitBinder___closed__4;
obj* l_Lean_Parser_Command_classInductive___elambda__1___closed__5;
obj* l___regBuiltinParser_Lean_Parser_Command_universe(obj*);
obj* l_Lean_Parser_Command_extends___closed__5;
+obj* l_Lean_Parser_Command_exit___closed__1;
obj* l_Lean_Parser_Command_quotedSymbolPrec___closed__2;
obj* l_Lean_Parser_Command_variables;
obj* l_Lean_Parser_Command_reserve___closed__2;
obj* l_Lean_Parser_Command_check___closed__2;
obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Command_attributes___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
+extern obj* l_Lean_Parser_Term_explicitUniv___closed__3;
obj* l_Lean_Parser_Command_infixr___closed__4;
obj* l_Lean_Parser_Command_declaration___closed__13;
obj* l_Lean_Parser_Command_variable___closed__5;
@@ -712,20 +722,22 @@ obj* l_Lean_Parser_Command_abbrev___closed__3;
obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Command_declModifiers___closed__2;
obj* l_Lean_Parser_Command_check___closed__5;
+obj* l_Lean_Parser_Command_exit___closed__4;
obj* l_Lean_Parser_Command_postfix___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Term_equation___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_mkCommandParserAttribute___closed__4;
obj* l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Command_def___elambda__1___closed__6;
extern obj* l_Lean_Parser_Term_haveAssign___closed__3;
+extern obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
namespace lean {
uint8 string_dec_eq(obj*, obj*);
}
obj* l_Lean_Parser_Command_infixl___elambda__1(obj*);
obj* l_Lean_Parser_Command_infixr___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__4;
+extern obj* l_Lean_Parser_Term_explicitUniv___closed__1;
obj* l_Lean_Parser_Command_axiom___closed__6;
-extern obj* l_Lean_Parser_Term_id___elambda__1___closed__8;
obj* l_Lean_Parser_Command_docComment___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_visibility___closed__3;
obj* l_Lean_Parser_Command_noncomputable___elambda__1(obj*);
@@ -783,6 +795,7 @@ obj* l_Lean_Parser_Command_classInductive;
obj* l_Lean_Parser_optionaInfo(obj*);
obj* l_Lean_Parser_Command_attribute___closed__1;
obj* l_Lean_Parser_Command_postfix___elambda__1___rarg___closed__2;
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Command_variable___elambda__1___closed__6;
obj* l_Lean_Parser_Command_extends___elambda__1___closed__1;
obj* l_Lean_Parser_Command_inferMod;
@@ -792,6 +805,7 @@ obj* l_Lean_Parser_Command_variables___elambda__1___closed__1;
obj* l_Lean_Parser_Command_structureTk___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Command_inferMod___closed__3;
obj* l_Lean_Parser_Command_declaration___closed__8;
+extern obj* l_Lean_Parser_Term_explicitUniv___closed__4;
extern obj* l_Lean_Parser_numLit___closed__1;
obj* l_Lean_Parser_Command_precedence___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_structCtor___elambda__1___rarg___closed__4;
@@ -851,11 +865,13 @@ obj* l_Lean_Parser_Command_openRenaming___elambda__1___closed__6;
obj* l_Lean_Parser_Command_attribute___closed__9;
obj* l_Lean_Parser_Command_attribute___closed__10;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_inductive___elambda__1___spec__1(uint8, obj*, obj*, obj*);
+obj* l_Lean_Parser_Command_openSimple___closed__1;
obj* l_Lean_Parser_mkCommandParserAttribute___closed__1;
obj* l_Lean_Parser_Command_extends___closed__3;
obj* l_Lean_Parser_Command_extends___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_attrArg___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Command_notation___elambda__1___closed__3;
+obj* l___regBuiltinParser_Lean_Parser_Command_exit(obj*);
obj* l_Lean_Parser_Command_variable___elambda__1___closed__4;
obj* l_Lean_Parser_Command_partial___closed__3;
obj* l_Lean_Parser_Command_set__option___elambda__1___rarg___closed__8;
@@ -883,6 +899,7 @@ obj* l_Lean_Parser_Command_protected___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Command_universes;
obj* l_Lean_Parser_Command_declModifiers___closed__6;
obj* l_Lean_Parser_Command_set__option___elambda__1___rarg(obj*, obj*);
+obj* l_Lean_Parser_Command_openSimple___closed__2;
obj* l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
obj* l_Lean_Parser_Command_abbrev___closed__4;
obj* l_Lean_Parser_Command_docComment___elambda__1___closed__7;
@@ -893,6 +910,7 @@ obj* l_Lean_Parser_Command_section___closed__5;
obj* l_Lean_Parser_Command_optDeclSig___closed__3;
obj* l_Lean_Parser_Command_variables___closed__5;
obj* l_Lean_Parser_Command_attribute___closed__7;
+extern obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
obj* l_Lean_Parser_Command_infixr___closed__3;
obj* l_Lean_Parser_Command_infixr___elambda__1(obj*);
obj* l_Lean_Parser_Command_attribute___elambda__1(obj*, obj*, obj*);
@@ -947,7 +965,6 @@ obj* l_Lean_Parser_Command_set__option___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_structExplicitBinder___closed__6;
obj* l_Lean_Parser_Command_declModifiers___elambda__1___closed__1;
obj* l_Lean_Parser_Command_structure___closed__6;
-obj* l_Lean_Parser_Command_open___closed__9;
obj* l_Lean_Parser_Command_mixfixKind;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_declValEqns___spec__1(obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Command_identPrec;
@@ -986,6 +1003,7 @@ obj* l_Lean_Parser_Command_openRenamingItem___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Command_set__option___closed__7;
obj* l_Lean_Parser_Command_init__quot___closed__3;
obj* l_Lean_Parser_Command_openHiding___closed__2;
+obj* l_Lean_Parser_Command_openSimple;
obj* l_Lean_Parser_Command_structExplicitBinder___closed__2;
extern obj* l_Lean_Parser_Term_subtype___closed__1;
obj* l_Lean_Parser_Command_attribute___elambda__1___closed__12;
@@ -1050,6 +1068,7 @@ obj* l___regBuiltinParser_Lean_Parser_Command_mixfix(obj*);
obj* l_Lean_Parser_Command_attributes;
obj* l_Lean_Parser_Command_theorem___elambda__1___closed__4;
obj* l_Lean_Parser_Command_def___elambda__1___closed__7;
+obj* l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
obj* l_Lean_Parser_Command_noncomputable___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_precedence___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Command_structFields___closed__2;
@@ -1076,12 +1095,12 @@ obj* l_Lean_Parser_Command_check___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_def___closed__4;
obj* l_Lean_Parser_Command_end___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Command_protected___elambda__1___rarg___closed__1;
-extern obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
obj* l_Lean_Parser_Command_instance___closed__4;
obj* l_Lean_Parser_unicodeSymbolInfo(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_universes___closed__2;
obj* l_Lean_Parser_Command_identPrec___elambda__1(obj*);
obj* l_Lean_Parser_Command_check___elambda__1___boxed(obj*);
+extern obj* l_Lean_Parser_Term_explicitUniv___closed__2;
obj* l_Lean_Parser_Command_classInductive___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_infix___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_precedence___closed__3;
@@ -1093,7 +1112,6 @@ obj* l_Lean_Parser_Command_strictInferMod___elambda__1___rarg___closed__2;
extern obj* l_Lean_Parser_Term_letIdLhs___closed__2;
obj* l_Lean_Parser_Command_structCtor___closed__5;
obj* l_Lean_Parser_Command_check___elambda__1___rarg___closed__4;
-obj* l_Lean_Parser_Command_openRenaming___closed__8;
obj* l_Lean_Parser_Command_variables___elambda__1___closed__4;
obj* l_Lean_Parser_Command_prefix___closed__4;
obj* l_Lean_Parser_Command_variables___elambda__1(obj*, obj*, obj*);
@@ -1105,6 +1123,7 @@ obj* l_Lean_Parser_Command_abbrev;
obj* l_Lean_Parser_Command_precedence___closed__4;
obj* l_Lean_Parser_Command_structImplicitBinder;
obj* l_Lean_Parser_Command_extends___elambda__1___closed__2;
+obj* l_Lean_Parser_Command_openSimple___closed__3;
obj* l_Lean_Parser_Command_mixfix___closed__5;
obj* l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
obj* l_Lean_Parser_Command_open___elambda__1___closed__6;
@@ -1113,10 +1132,10 @@ obj* l_Lean_Parser_Command_variable___closed__4;
obj* l_Lean_Parser_Command_section___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Command_infix___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_introRule___closed__7;
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Command_inductive___closed__7;
obj* l_Lean_Parser_Command_instance___closed__7;
obj* l_Lean_Parser_Command_openOnly___closed__5;
-extern obj* l_Lean_Parser_Term_id___elambda__1___closed__14;
obj* l_Lean_Parser_Command_mixfix___closed__3;
obj* l_Lean_Parser_Command_relaxedInferMod___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Command_check___closed__1;
@@ -1134,6 +1153,7 @@ obj* l_Lean_Parser_Command_variables___closed__3;
obj* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
obj* l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
obj* l_Lean_Parser_Command_prefix___closed__1;
+extern obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
obj* l_Lean_Parser_Command_structCtor___closed__2;
obj* l_Lean_Parser_commandParserAttribute;
obj* l_Lean_Parser_Command_constant___elambda__1___closed__3;
@@ -1167,7 +1187,6 @@ obj* l_Lean_Parser_Command_maxPrec___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_quotedSymbolFn___rarg(obj*, obj*, obj*);
obj* l_Lean_Parser_Command_universe___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Command_open___elambda__1___closed__7;
-extern obj* l_Lean_Parser_Term_id___closed__1;
obj* l_Lean_Parser_Command_structInstBinder___closed__6;
obj* l_Lean_Parser_Command_declSig___closed__2;
obj* l_Lean_Parser_mkCommandParserAttribute___closed__2;
@@ -1855,12 +1874,26 @@ return x_14;
}
else
{
-obj* x_15;
+obj* x_15; uint8 x_16;
lean::dec(x_9);
lean::dec(x_3);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
+lean::dec(x_15);
+if (x_16 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_15;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
+}
}
}
}
@@ -2039,13 +2072,13 @@ obj* x_27; obj* x_28; uint8 x_29;
x_27 = lean::cnstr_get(x_26, 1);
lean::inc(x_27);
lean::dec(x_26);
-x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_29 = lean::string_dec_eq(x_27, x_28);
lean::dec(x_27);
if (x_29 == 0)
{
obj* x_30; obj* x_31;
-x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
x_16 = x_31;
@@ -2061,7 +2094,7 @@ else
{
obj* x_32; obj* x_33;
lean::dec(x_26);
-x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
x_16 = x_33;
@@ -2072,7 +2105,7 @@ else
{
obj* x_34; obj* x_35;
lean::dec(x_24);
-x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
x_16 = x_35;
@@ -2404,7 +2437,7 @@ obj* x_1; obj* x_2; obj* x_3; obj* x_4;
x_1 = l_Lean_Parser_Command_attrInstance;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_Lean_Parser_Term_id___closed__2;
+x_3 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_4 = l_Lean_Parser_sepBy1Info(x_2, x_3);
return x_4;
}
@@ -4237,13 +4270,13 @@ obj* x_27; obj* x_28; uint8 x_29;
x_27 = lean::cnstr_get(x_26, 1);
lean::inc(x_27);
lean::dec(x_26);
-x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_29 = lean::string_dec_eq(x_27, x_28);
lean::dec(x_27);
if (x_29 == 0)
{
obj* x_30; obj* x_31;
-x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
x_16 = x_31;
@@ -4259,7 +4292,7 @@ else
{
obj* x_32; obj* x_33;
lean::dec(x_26);
-x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
x_16 = x_33;
@@ -4270,7 +4303,7 @@ else
{
obj* x_34; obj* x_35;
lean::dec(x_24);
-x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
x_16 = x_35;
@@ -4402,13 +4435,13 @@ obj* x_54; obj* x_55; uint8 x_56;
x_54 = lean::cnstr_get(x_53, 1);
lean::inc(x_54);
lean::dec(x_53);
-x_55 = l_Lean_Parser_Term_id___elambda__1___closed__6;
+x_55 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6;
x_56 = lean::string_dec_eq(x_54, x_55);
lean::dec(x_54);
if (x_56 == 0)
{
obj* x_57; obj* x_58;
-x_57 = l_Lean_Parser_Term_id___elambda__1___closed__14;
+x_57 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
lean::inc(x_10);
x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_57, x_10);
x_29 = x_58;
@@ -4424,7 +4457,7 @@ else
{
obj* x_59; obj* x_60;
lean::dec(x_53);
-x_59 = l_Lean_Parser_Term_id___elambda__1___closed__14;
+x_59 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
lean::inc(x_10);
x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_59, x_10);
x_29 = x_60;
@@ -4435,7 +4468,7 @@ else
{
obj* x_61; obj* x_62;
lean::dec(x_51);
-x_61 = l_Lean_Parser_Term_id___elambda__1___closed__14;
+x_61 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
lean::inc(x_10);
x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_61, x_10);
x_29 = x_62;
@@ -4521,13 +4554,13 @@ obj* x_40; obj* x_41; uint8 x_42;
x_40 = lean::cnstr_get(x_39, 1);
lean::inc(x_40);
lean::dec(x_39);
-x_41 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_41 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_42 = lean::string_dec_eq(x_40, x_41);
lean::dec(x_40);
if (x_42 == 0)
{
obj* x_43; obj* x_44;
-x_43 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_43 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_43, x_35);
x_11 = x_44;
goto block_28;
@@ -4543,7 +4576,7 @@ else
{
obj* x_45; obj* x_46;
lean::dec(x_39);
-x_45 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_45 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_45, x_35);
x_11 = x_46;
goto block_28;
@@ -4553,7 +4586,7 @@ else
{
obj* x_47; obj* x_48;
lean::dec(x_37);
-x_47 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_47 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_47, x_35);
x_11 = x_48;
goto block_28;
@@ -4600,7 +4633,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_ident___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__2;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_3 = l_Lean_Parser_sepBy1Info(x_1, x_2);
return x_3;
}
@@ -4610,7 +4643,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Command_declId___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__4;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__4;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -4619,7 +4652,7 @@ obj* _init_l_Lean_Parser_Command_declId___closed__3() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___closed__1;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__1;
x_2 = l_Lean_Parser_Command_declId___closed__2;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -5086,39 +5119,39 @@ return x_2;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_declValEqns___elambda__1___spec__1(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -5155,22 +5188,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -5178,39 +5239,39 @@ return x_19;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_declValEqns___elambda__1___spec__2(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -5247,22 +5308,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -5420,39 +5509,39 @@ return x_47;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_declValEqns___spec__1(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -5489,22 +5578,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -5512,39 +5629,39 @@ return x_19;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_declValEqns___spec__2(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -5581,22 +5698,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -7943,13 +8088,13 @@ obj* x_24; obj* x_25; uint8 x_26;
x_24 = lean::cnstr_get(x_23, 1);
lean::inc(x_24);
lean::dec(x_23);
-x_25 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_25 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_26 = lean::string_dec_eq(x_24, x_25);
lean::dec(x_24);
if (x_26 == 0)
{
obj* x_27; obj* x_28; obj* x_29; obj* x_30; obj* x_31;
-x_27 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_27 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
x_29 = lean::cnstr_get(x_28, 0);
lean::inc(x_29);
@@ -7984,7 +8129,7 @@ else
{
obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_39;
lean::dec(x_23);
-x_35 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_35 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_35, x_19);
x_37 = lean::cnstr_get(x_36, 0);
lean::inc(x_37);
@@ -8003,7 +8148,7 @@ else
{
obj* x_40; obj* x_41; obj* x_42; obj* x_43; obj* x_44;
lean::dec(x_21);
-x_40 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_40 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_40, x_19);
x_42 = lean::cnstr_get(x_41, 0);
lean::inc(x_42);
@@ -8051,7 +8196,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Term_subtype___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__4;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__4;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -8853,13 +8998,27 @@ return x_14;
}
else
{
-obj* x_15;
+obj* x_15; uint8 x_16;
lean::dec(x_9);
lean::dec(x_3);
lean::dec(x_2);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
+lean::dec(x_15);
+if (x_16 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_15;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
+}
}
}
}
@@ -9600,12 +9759,26 @@ return x_14;
}
else
{
-obj* x_15;
+obj* x_15; uint8 x_16;
lean::dec(x_9);
lean::dec(x_3);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
+lean::dec(x_15);
+if (x_16 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_15;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
+}
}
}
}
@@ -10178,13 +10351,13 @@ obj* x_15; obj* x_16; uint8 x_17;
x_15 = lean::cnstr_get(x_14, 1);
lean::inc(x_15);
lean::dec(x_14);
-x_16 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_16 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_17 = lean::string_dec_eq(x_15, x_16);
lean::dec(x_15);
if (x_17 == 0)
{
obj* x_18; obj* x_19; obj* x_20; obj* x_21;
-x_18 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_18 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_19 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_18, x_10);
x_20 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_5);
@@ -10203,7 +10376,7 @@ else
{
obj* x_24; obj* x_25; obj* x_26; obj* x_27;
lean::dec(x_14);
-x_24 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_24 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_24, x_10);
x_26 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5);
@@ -10214,7 +10387,7 @@ else
{
obj* x_28; obj* x_29; obj* x_30; obj* x_31;
lean::dec(x_12);
-x_28 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_28 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_28, x_10);
x_30 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_5);
@@ -10339,7 +10512,7 @@ obj* x_1; obj* x_2; obj* x_3; obj* x_4;
x_1 = l_Lean_Parser_Command_optDeclSig;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_Lean_Parser_Term_id___closed__4;
+x_3 = l_Lean_Parser_Term_explicitUniv___closed__4;
x_4 = l_Lean_Parser_andthenInfo(x_2, x_3);
return x_4;
}
@@ -10762,7 +10935,7 @@ return x_1;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structFields___elambda__1___spec__1(uint8 x_1, obj* x_2, obj* x_3, obj* x_4) {
_start:
{
-obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_17; obj* x_18;
+obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_19; obj* x_20;
x_5 = lean::cnstr_get(x_4, 0);
lean::inc(x_5);
x_6 = lean::array_get_size(x_5);
@@ -10771,89 +10944,89 @@ x_7 = lean::cnstr_get(x_4, 1);
lean::inc(x_7);
lean::inc(x_3);
lean::inc(x_2);
-x_17 = l_Lean_Parser_Command_structExplicitBinder___elambda__1(x_2, x_3, x_4);
-x_18 = lean::cnstr_get(x_17, 3);
-lean::inc(x_18);
-if (lean::obj_tag(x_18) == 0)
-{
-x_8 = x_17;
-goto block_16;
-}
-else
-{
-obj* x_19; obj* x_20; uint8 x_21;
-x_19 = lean::cnstr_get(x_18, 0);
-lean::inc(x_19);
-lean::dec(x_18);
-x_20 = lean::cnstr_get(x_17, 1);
+x_19 = l_Lean_Parser_Command_structExplicitBinder___elambda__1(x_2, x_3, x_4);
+x_20 = lean::cnstr_get(x_19, 3);
lean::inc(x_20);
-x_21 = lean::nat_dec_eq(x_20, x_7);
+if (lean::obj_tag(x_20) == 0)
+{
+x_8 = x_19;
+goto block_18;
+}
+else
+{
+obj* x_21; obj* x_22; uint8 x_23;
+x_21 = lean::cnstr_get(x_20, 0);
+lean::inc(x_21);
lean::dec(x_20);
-if (x_21 == 0)
+x_22 = lean::cnstr_get(x_19, 1);
+lean::inc(x_22);
+x_23 = lean::nat_dec_eq(x_22, x_7);
+lean::dec(x_22);
+if (x_23 == 0)
{
-lean::dec(x_19);
-x_8 = x_17;
-goto block_16;
+lean::dec(x_21);
+x_8 = x_19;
+goto block_18;
}
else
{
-obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26;
+obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_28;
lean::inc(x_7);
-x_22 = l_Lean_Parser_ParserState_restore(x_17, x_6, x_7);
-x_23 = lean::cnstr_get(x_22, 0);
-lean::inc(x_23);
-x_24 = lean::array_get_size(x_23);
-lean::dec(x_23);
+x_24 = l_Lean_Parser_ParserState_restore(x_19, x_6, x_7);
+x_25 = lean::cnstr_get(x_24, 0);
+lean::inc(x_25);
+x_26 = lean::array_get_size(x_25);
+lean::dec(x_25);
lean::inc(x_3);
lean::inc(x_2);
-x_25 = l_Lean_Parser_Command_structImplicitBinder___elambda__1(x_2, x_3, x_22);
-x_26 = lean::cnstr_get(x_25, 3);
-lean::inc(x_26);
-if (lean::obj_tag(x_26) == 0)
-{
-obj* x_27;
-lean::dec(x_24);
-x_27 = l_Lean_Parser_mergeOrElseErrors(x_25, x_19, x_7);
-x_8 = x_27;
-goto block_16;
-}
-else
-{
-obj* x_28; obj* x_29; uint8 x_30;
-x_28 = lean::cnstr_get(x_26, 0);
+x_27 = l_Lean_Parser_Command_structImplicitBinder___elambda__1(x_2, x_3, x_24);
+x_28 = lean::cnstr_get(x_27, 3);
lean::inc(x_28);
-lean::dec(x_26);
-x_29 = lean::cnstr_get(x_25, 1);
-lean::inc(x_29);
-x_30 = lean::nat_dec_eq(x_29, x_7);
-lean::dec(x_29);
-if (x_30 == 0)
+if (lean::obj_tag(x_28) == 0)
{
-obj* x_31;
-lean::dec(x_28);
-lean::dec(x_24);
-x_31 = l_Lean_Parser_mergeOrElseErrors(x_25, x_19, x_7);
-x_8 = x_31;
-goto block_16;
+obj* x_29;
+lean::dec(x_26);
+x_29 = l_Lean_Parser_mergeOrElseErrors(x_27, x_21, x_7);
+x_8 = x_29;
+goto block_18;
}
else
{
-obj* x_32; obj* x_33; obj* x_34; obj* x_35;
+obj* x_30; obj* x_31; uint8 x_32;
+x_30 = lean::cnstr_get(x_28, 0);
+lean::inc(x_30);
+lean::dec(x_28);
+x_31 = lean::cnstr_get(x_27, 1);
+lean::inc(x_31);
+x_32 = lean::nat_dec_eq(x_31, x_7);
+lean::dec(x_31);
+if (x_32 == 0)
+{
+obj* x_33;
+lean::dec(x_30);
+lean::dec(x_26);
+x_33 = l_Lean_Parser_mergeOrElseErrors(x_27, x_21, x_7);
+x_8 = x_33;
+goto block_18;
+}
+else
+{
+obj* x_34; obj* x_35; obj* x_36; obj* x_37;
lean::inc(x_7);
-x_32 = l_Lean_Parser_ParserState_restore(x_25, x_24, x_7);
-lean::dec(x_24);
+x_34 = l_Lean_Parser_ParserState_restore(x_27, x_26, x_7);
+lean::dec(x_26);
lean::inc(x_3);
lean::inc(x_2);
-x_33 = l_Lean_Parser_Command_structInstBinder___elambda__1(x_2, x_3, x_32);
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_33, x_28, x_7);
-x_35 = l_Lean_Parser_mergeOrElseErrors(x_34, x_19, x_7);
-x_8 = x_35;
-goto block_16;
+x_35 = l_Lean_Parser_Command_structInstBinder___elambda__1(x_2, x_3, x_34);
+x_36 = l_Lean_Parser_mergeOrElseErrors(x_35, x_30, x_7);
+x_37 = l_Lean_Parser_mergeOrElseErrors(x_36, x_21, x_7);
+x_8 = x_37;
+goto block_18;
}
}
}
}
-block_16:
+block_18:
{
obj* x_9;
x_9 = lean::cnstr_get(x_8, 3);
@@ -10884,13 +11057,27 @@ return x_14;
}
else
{
-obj* x_15;
+obj* x_15; uint8 x_16;
lean::dec(x_9);
lean::dec(x_3);
lean::dec(x_2);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
+lean::dec(x_15);
+if (x_16 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_15;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
+}
}
}
}
@@ -11824,7 +12011,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Command_extends___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__3;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__3;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -15229,6 +15416,218 @@ x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
return x_5;
}
}
+obj* _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("exit");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__3() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("#exit");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4() {
+_start:
+{
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__3;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__5() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4;
+x_3 = lean::string_append(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__6() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__5;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean::string_append(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = lean::box(0);
+x_2 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__6;
+x_3 = lean::alloc_cnstr(1, 2, 0);
+lean::cnstr_set(x_3, 0, x_2);
+lean::cnstr_set(x_3, 1, x_1);
+return x_3;
+}
+}
+obj* l_Lean_Parser_Command_exit___elambda__1___rarg(obj* x_1, obj* x_2) {
+_start:
+{
+obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7;
+x_3 = lean::cnstr_get(x_2, 0);
+lean::inc(x_3);
+x_4 = lean::array_get_size(x_3);
+lean::dec(x_3);
+x_5 = lean::cnstr_get(x_2, 1);
+lean::inc(x_5);
+x_6 = l_Lean_Parser_tokenFn(x_1, x_2);
+x_7 = lean::cnstr_get(x_6, 3);
+lean::inc(x_7);
+if (lean::obj_tag(x_7) == 0)
+{
+obj* x_8; obj* x_9;
+x_8 = lean::cnstr_get(x_6, 0);
+lean::inc(x_8);
+x_9 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_8);
+lean::dec(x_8);
+if (lean::obj_tag(x_9) == 2)
+{
+obj* x_10; obj* x_11; uint8 x_12;
+x_10 = lean::cnstr_get(x_9, 1);
+lean::inc(x_10);
+lean::dec(x_9);
+x_11 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4;
+x_12 = lean::string_dec_eq(x_10, x_11);
+lean::dec(x_10);
+if (x_12 == 0)
+{
+obj* x_13; obj* x_14; obj* x_15; obj* x_16;
+x_13 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7;
+x_14 = l_Lean_Parser_ParserState_mkErrorsAt(x_6, x_13, x_5);
+x_15 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_4);
+return x_16;
+}
+else
+{
+obj* x_17; obj* x_18;
+lean::dec(x_5);
+x_17 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_6, x_17, x_4);
+return x_18;
+}
+}
+else
+{
+obj* x_19; obj* x_20; obj* x_21; obj* x_22;
+lean::dec(x_9);
+x_19 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7;
+x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_6, x_19, x_5);
+x_21 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_4);
+return x_22;
+}
+}
+else
+{
+obj* x_23; obj* x_24; obj* x_25; obj* x_26;
+lean::dec(x_7);
+x_23 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7;
+x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_6, x_23, x_5);
+x_25 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_4);
+return x_26;
+}
+}
+}
+obj* l_Lean_Parser_Command_exit___elambda__1(obj* x_1) {
+_start:
+{
+obj* x_2;
+x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Command_exit___elambda__1___rarg), 2, 0);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___closed__1() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = lean::box(0);
+x_2 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4;
+x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Command_exit___closed__1;
+x_2 = l_Lean_Parser_nodeInfo(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___closed__3() {
+_start:
+{
+obj* x_1;
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Command_exit___elambda__1___boxed), 1, 0);
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit___closed__4() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_exit___closed__2;
+x_2 = l_Lean_Parser_Command_exit___closed__3;
+x_3 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_3, 0, x_1);
+lean::cnstr_set(x_3, 1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_exit() {
+_start:
+{
+obj* x_1;
+x_1 = l_Lean_Parser_Command_exit___closed__4;
+return x_1;
+}
+}
+obj* l_Lean_Parser_Command_exit___elambda__1___boxed(obj* x_1) {
+_start:
+{
+obj* x_2;
+x_2 = l_Lean_Parser_Command_exit___elambda__1(x_1);
+lean::dec(x_1);
+return x_2;
+}
+}
+obj* l___regBuiltinParser_Lean_Parser_Command_exit(obj* x_1) {
+_start:
+{
+obj* x_2; obj* x_3; obj* x_4; obj* x_5;
+x_2 = l_Lean_Parser_builtinCommandParsingTable;
+x_3 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
+x_4 = l_Lean_Parser_Command_exit;
+x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
+return x_5;
+}
+}
obj* _init_l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__1() {
_start:
{
@@ -17070,376 +17469,6 @@ x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
return x_5;
}
}
-obj* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__1() {
-_start:
-{
-obj* x_1;
-x_1 = lean::mk_string("openOnly");
-return x_1;
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__2() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__2;
-x_2 = l_Lean_Parser_Command_openOnly___elambda__1___closed__1;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-obj* l_Lean_Parser_Command_openOnly___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
-_start:
-{
-obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_43; obj* x_67; obj* x_68;
-x_4 = lean::cnstr_get(x_3, 0);
-lean::inc(x_4);
-x_5 = lean::cnstr_get(x_3, 1);
-lean::inc(x_5);
-x_6 = lean::array_get_size(x_4);
-lean::dec(x_4);
-lean::inc(x_2);
-x_67 = l_Lean_Parser_tokenFn(x_2, x_3);
-x_68 = lean::cnstr_get(x_67, 3);
-lean::inc(x_68);
-if (lean::obj_tag(x_68) == 0)
-{
-obj* x_69; obj* x_70;
-x_69 = lean::cnstr_get(x_67, 0);
-lean::inc(x_69);
-x_70 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_69);
-lean::dec(x_69);
-if (lean::obj_tag(x_70) == 2)
-{
-obj* x_71; obj* x_72; uint8 x_73;
-x_71 = lean::cnstr_get(x_70, 1);
-lean::inc(x_71);
-lean::dec(x_70);
-x_72 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__5;
-x_73 = lean::string_dec_eq(x_71, x_72);
-lean::dec(x_71);
-if (x_73 == 0)
-{
-obj* x_74; obj* x_75;
-x_74 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_74, x_5);
-x_43 = x_75;
-goto block_66;
-}
-else
-{
-x_43 = x_67;
-goto block_66;
-}
-}
-else
-{
-obj* x_76; obj* x_77;
-lean::dec(x_70);
-x_76 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_77 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_76, x_5);
-x_43 = x_77;
-goto block_66;
-}
-}
-else
-{
-obj* x_78; obj* x_79;
-lean::dec(x_68);
-x_78 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_78, x_5);
-x_43 = x_79;
-goto block_66;
-}
-block_42:
-{
-obj* x_8;
-x_8 = lean::cnstr_get(x_7, 3);
-lean::inc(x_8);
-if (lean::obj_tag(x_8) == 0)
-{
-obj* x_9; obj* x_10; uint8 x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15;
-x_9 = lean::cnstr_get(x_7, 0);
-lean::inc(x_9);
-x_10 = lean::array_get_size(x_9);
-lean::dec(x_9);
-x_11 = 0;
-lean::inc(x_2);
-x_12 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_11, x_1, x_2, x_7);
-x_13 = l_Lean_nullKind;
-x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_10);
-x_15 = lean::cnstr_get(x_14, 3);
-lean::inc(x_15);
-if (lean::obj_tag(x_15) == 0)
-{
-obj* x_16; obj* x_17; obj* x_18;
-x_16 = lean::cnstr_get(x_14, 1);
-lean::inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_2, x_14);
-x_18 = lean::cnstr_get(x_17, 3);
-lean::inc(x_18);
-if (lean::obj_tag(x_18) == 0)
-{
-obj* x_19; obj* x_20;
-x_19 = lean::cnstr_get(x_17, 0);
-lean::inc(x_19);
-x_20 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_19);
-lean::dec(x_19);
-if (lean::obj_tag(x_20) == 2)
-{
-obj* x_21; obj* x_22; uint8 x_23;
-x_21 = lean::cnstr_get(x_20, 1);
-lean::inc(x_21);
-lean::dec(x_20);
-x_22 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__6;
-x_23 = lean::string_dec_eq(x_21, x_22);
-lean::dec(x_21);
-if (x_23 == 0)
-{
-obj* x_24; obj* x_25; obj* x_26; obj* x_27;
-x_24 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_6);
-return x_27;
-}
-else
-{
-obj* x_28; obj* x_29;
-lean::dec(x_16);
-x_28 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_6);
-return x_29;
-}
-}
-else
-{
-obj* x_30; obj* x_31; obj* x_32; obj* x_33;
-lean::dec(x_20);
-x_30 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_6);
-return x_33;
-}
-}
-else
-{
-obj* x_34; obj* x_35; obj* x_36; obj* x_37;
-lean::dec(x_18);
-x_34 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_6);
-return x_37;
-}
-}
-else
-{
-obj* x_38; obj* x_39;
-lean::dec(x_15);
-lean::dec(x_2);
-x_38 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_6);
-return x_39;
-}
-}
-else
-{
-obj* x_40; obj* x_41;
-lean::dec(x_8);
-lean::dec(x_2);
-x_40 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_7, x_40, x_6);
-return x_41;
-}
-}
-block_66:
-{
-obj* x_44;
-x_44 = lean::cnstr_get(x_43, 3);
-lean::inc(x_44);
-if (lean::obj_tag(x_44) == 0)
-{
-obj* x_45; obj* x_46;
-lean::inc(x_2);
-x_45 = l_Lean_Parser_identFn___rarg(x_2, x_43);
-x_46 = lean::cnstr_get(x_45, 3);
-lean::inc(x_46);
-if (lean::obj_tag(x_46) == 0)
-{
-lean::dec(x_5);
-x_7 = x_45;
-goto block_42;
-}
-else
-{
-uint8 x_47;
-x_47 = !lean::is_exclusive(x_45);
-if (x_47 == 0)
-{
-obj* x_48; obj* x_49; obj* x_50; obj* x_51;
-x_48 = lean::cnstr_get(x_45, 0);
-x_49 = lean::cnstr_get(x_45, 3);
-lean::dec(x_49);
-x_50 = lean::cnstr_get(x_45, 1);
-lean::dec(x_50);
-x_51 = l_Array_shrink___main___rarg(x_48, x_6);
-lean::cnstr_set(x_45, 1, x_5);
-lean::cnstr_set(x_45, 0, x_51);
-x_7 = x_45;
-goto block_42;
-}
-else
-{
-obj* x_52; obj* x_53; obj* x_54; obj* x_55;
-x_52 = lean::cnstr_get(x_45, 0);
-x_53 = lean::cnstr_get(x_45, 2);
-lean::inc(x_53);
-lean::inc(x_52);
-lean::dec(x_45);
-x_54 = l_Array_shrink___main___rarg(x_52, x_6);
-x_55 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_55, 0, x_54);
-lean::cnstr_set(x_55, 1, x_5);
-lean::cnstr_set(x_55, 2, x_53);
-lean::cnstr_set(x_55, 3, x_46);
-x_7 = x_55;
-goto block_42;
-}
-}
-}
-else
-{
-obj* x_56;
-lean::dec(x_44);
-x_56 = lean::cnstr_get(x_43, 3);
-lean::inc(x_56);
-if (lean::obj_tag(x_56) == 0)
-{
-lean::dec(x_5);
-x_7 = x_43;
-goto block_42;
-}
-else
-{
-uint8 x_57;
-x_57 = !lean::is_exclusive(x_43);
-if (x_57 == 0)
-{
-obj* x_58; obj* x_59; obj* x_60; obj* x_61;
-x_58 = lean::cnstr_get(x_43, 0);
-x_59 = lean::cnstr_get(x_43, 3);
-lean::dec(x_59);
-x_60 = lean::cnstr_get(x_43, 1);
-lean::dec(x_60);
-x_61 = l_Array_shrink___main___rarg(x_58, x_6);
-lean::cnstr_set(x_43, 1, x_5);
-lean::cnstr_set(x_43, 0, x_61);
-x_7 = x_43;
-goto block_42;
-}
-else
-{
-obj* x_62; obj* x_63; obj* x_64; obj* x_65;
-x_62 = lean::cnstr_get(x_43, 0);
-x_63 = lean::cnstr_get(x_43, 2);
-lean::inc(x_63);
-lean::inc(x_62);
-lean::dec(x_43);
-x_64 = l_Array_shrink___main___rarg(x_62, x_6);
-x_65 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_65, 0, x_64);
-lean::cnstr_set(x_65, 1, x_5);
-lean::cnstr_set(x_65, 2, x_63);
-lean::cnstr_set(x_65, 3, x_56);
-x_7 = x_65;
-goto block_42;
-}
-}
-}
-}
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly___closed__1() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_explicitBinder___closed__1;
-x_2 = l_Lean_Parser_ident___closed__1;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly___closed__2() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_structExplicitBinder___closed__1;
-x_2 = l_Lean_Parser_Level_paren___closed__3;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly___closed__3() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_openOnly___closed__1;
-x_2 = l_Lean_Parser_Command_openOnly___closed__2;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly___closed__4() {
-_start:
-{
-obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Command_openOnly___closed__3;
-x_2 = l_Lean_Parser_nodeInfo(x_1);
-return x_2;
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly___closed__5() {
-_start:
-{
-obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Command_openOnly___elambda__1___boxed), 3, 0);
-return x_1;
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly___closed__6() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_openOnly___closed__4;
-x_2 = l_Lean_Parser_Command_openOnly___closed__5;
-x_3 = lean::alloc_cnstr(0, 2, 0);
-lean::cnstr_set(x_3, 0, x_1);
-lean::cnstr_set(x_3, 1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_openOnly() {
-_start:
-{
-obj* x_1;
-x_1 = l_Lean_Parser_Command_openOnly___closed__6;
-return x_1;
-}
-}
-obj* l_Lean_Parser_Command_openOnly___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) {
-_start:
-{
-obj* x_4;
-x_4 = l_Lean_Parser_Command_openOnly___elambda__1(x_1, x_2, x_3);
-lean::dec(x_1);
-return x_4;
-}
-}
obj* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__1() {
_start:
{
@@ -17510,7 +17539,7 @@ return x_3;
obj* l_Lean_Parser_Command_openHiding___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
-obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_52; obj* x_84; obj* x_85;
+obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_29; obj* x_30;
x_4 = lean::cnstr_get(x_3, 0);
lean::inc(x_4);
x_5 = lean::cnstr_get(x_3, 1);
@@ -17518,307 +17547,172 @@ lean::inc(x_5);
x_6 = lean::array_get_size(x_4);
lean::dec(x_4);
lean::inc(x_2);
-x_84 = l_Lean_Parser_tokenFn(x_2, x_3);
-x_85 = lean::cnstr_get(x_84, 3);
-lean::inc(x_85);
-if (lean::obj_tag(x_85) == 0)
+x_29 = l_Lean_Parser_identFn___rarg(x_2, x_3);
+x_30 = lean::cnstr_get(x_29, 3);
+lean::inc(x_30);
+if (lean::obj_tag(x_30) == 0)
{
-obj* x_86; obj* x_87;
-x_86 = lean::cnstr_get(x_84, 0);
-lean::inc(x_86);
-x_87 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_86);
-lean::dec(x_86);
-if (lean::obj_tag(x_87) == 2)
-{
-obj* x_88; obj* x_89; uint8 x_90;
-x_88 = lean::cnstr_get(x_87, 1);
-lean::inc(x_88);
-lean::dec(x_87);
-x_89 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__5;
-x_90 = lean::string_dec_eq(x_88, x_89);
-lean::dec(x_88);
-if (x_90 == 0)
-{
-obj* x_91; obj* x_92;
-x_91 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_91, x_5);
-x_52 = x_92;
-goto block_83;
-}
-else
-{
-x_52 = x_84;
-goto block_83;
-}
-}
-else
-{
-obj* x_93; obj* x_94;
-lean::dec(x_87);
-x_93 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_93, x_5);
-x_52 = x_94;
-goto block_83;
-}
-}
-else
-{
-obj* x_95; obj* x_96;
-lean::dec(x_85);
-x_95 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_95, x_5);
-x_52 = x_96;
-goto block_83;
-}
-block_33:
-{
-obj* x_8;
-x_8 = lean::cnstr_get(x_7, 3);
-lean::inc(x_8);
-if (lean::obj_tag(x_8) == 0)
-{
-obj* x_9; obj* x_10; obj* x_11;
-x_9 = lean::cnstr_get(x_7, 1);
-lean::inc(x_9);
-x_10 = l_Lean_Parser_tokenFn(x_2, x_7);
-x_11 = lean::cnstr_get(x_10, 3);
-lean::inc(x_11);
-if (lean::obj_tag(x_11) == 0)
-{
-obj* x_12; obj* x_13;
-x_12 = lean::cnstr_get(x_10, 0);
-lean::inc(x_12);
-x_13 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_12);
-lean::dec(x_12);
-if (lean::obj_tag(x_13) == 2)
-{
-obj* x_14; obj* x_15; uint8 x_16;
-x_14 = lean::cnstr_get(x_13, 1);
-lean::inc(x_14);
-lean::dec(x_13);
-x_15 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__6;
-x_16 = lean::string_dec_eq(x_14, x_15);
-lean::dec(x_14);
-if (x_16 == 0)
-{
-obj* x_17; obj* x_18; obj* x_19; obj* x_20;
-x_17 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_18 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_17, x_9);
-x_19 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_6);
-return x_20;
-}
-else
-{
-obj* x_21; obj* x_22;
-lean::dec(x_9);
-x_21 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_10, x_21, x_6);
-return x_22;
-}
-}
-else
-{
-obj* x_23; obj* x_24; obj* x_25; obj* x_26;
-lean::dec(x_13);
-x_23 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_23, x_9);
-x_25 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_6);
-return x_26;
-}
-}
-else
-{
-obj* x_27; obj* x_28; obj* x_29; obj* x_30;
-lean::dec(x_11);
-x_27 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_27, x_9);
-x_29 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_6);
-return x_30;
-}
-}
-else
-{
-obj* x_31; obj* x_32;
-lean::dec(x_8);
-lean::dec(x_2);
-x_31 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_7, x_31, x_6);
-return x_32;
-}
-}
-block_51:
-{
-if (lean::obj_tag(x_37) == 0)
-{
-obj* x_38; obj* x_39; obj* x_40;
-lean::dec(x_36);
-lean::dec(x_5);
-x_38 = lean::array_get_size(x_35);
-lean::dec(x_35);
+obj* x_31; obj* x_32; obj* x_33;
+x_31 = lean::cnstr_get(x_29, 1);
+lean::inc(x_31);
lean::inc(x_2);
-x_39 = l_Lean_Parser_identFn___rarg(x_2, x_34);
-x_40 = lean::cnstr_get(x_39, 3);
-lean::inc(x_40);
-if (lean::obj_tag(x_40) == 0)
+x_32 = l_Lean_Parser_tokenFn(x_2, x_29);
+x_33 = lean::cnstr_get(x_32, 3);
+lean::inc(x_33);
+if (lean::obj_tag(x_33) == 0)
{
-uint8 x_41; obj* x_42; obj* x_43; obj* x_44;
-x_41 = 0;
-lean::inc(x_2);
-x_42 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_41, x_1, x_2, x_39);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_38);
-x_7 = x_44;
-goto block_33;
-}
-else
-{
-obj* x_45; obj* x_46;
-lean::dec(x_40);
-x_45 = l_Lean_nullKind;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_39, x_45, x_38);
-x_7 = x_46;
-goto block_33;
-}
-}
-else
-{
-obj* x_47; obj* x_48; obj* x_49; obj* x_50;
+obj* x_34; obj* x_35;
+x_34 = lean::cnstr_get(x_32, 0);
+lean::inc(x_34);
+x_35 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_34);
lean::dec(x_34);
-lean::dec(x_2);
-x_47 = l_Array_shrink___main___rarg(x_35, x_6);
-x_48 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_48, 0, x_47);
-lean::cnstr_set(x_48, 1, x_5);
-lean::cnstr_set(x_48, 2, x_36);
-lean::cnstr_set(x_48, 3, x_37);
-x_49 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_6);
-return x_50;
+if (lean::obj_tag(x_35) == 2)
+{
+obj* x_36; obj* x_37; uint8 x_38;
+x_36 = lean::cnstr_get(x_35, 1);
+lean::inc(x_36);
+lean::dec(x_35);
+x_37 = l_Lean_Parser_Command_openHiding___elambda__1___closed__4;
+x_38 = lean::string_dec_eq(x_36, x_37);
+lean::dec(x_36);
+if (x_38 == 0)
+{
+obj* x_39; obj* x_40; obj* x_41; obj* x_42; obj* x_43;
+x_39 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
+x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_31);
+x_41 = lean::cnstr_get(x_40, 0);
+lean::inc(x_41);
+x_42 = lean::cnstr_get(x_40, 2);
+lean::inc(x_42);
+x_43 = lean::cnstr_get(x_40, 3);
+lean::inc(x_43);
+x_7 = x_40;
+x_8 = x_41;
+x_9 = x_42;
+x_10 = x_43;
+goto block_28;
+}
+else
+{
+obj* x_44; obj* x_45; obj* x_46;
+lean::dec(x_31);
+x_44 = lean::cnstr_get(x_32, 0);
+lean::inc(x_44);
+x_45 = lean::cnstr_get(x_32, 2);
+lean::inc(x_45);
+x_46 = lean::cnstr_get(x_32, 3);
+lean::inc(x_46);
+x_7 = x_32;
+x_8 = x_44;
+x_9 = x_45;
+x_10 = x_46;
+goto block_28;
}
}
-block_83:
+else
{
-obj* x_53;
-x_53 = lean::cnstr_get(x_52, 3);
-lean::inc(x_53);
-if (lean::obj_tag(x_53) == 0)
+obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_51;
+lean::dec(x_35);
+x_47 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
+x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_47, x_31);
+x_49 = lean::cnstr_get(x_48, 0);
+lean::inc(x_49);
+x_50 = lean::cnstr_get(x_48, 2);
+lean::inc(x_50);
+x_51 = lean::cnstr_get(x_48, 3);
+lean::inc(x_51);
+x_7 = x_48;
+x_8 = x_49;
+x_9 = x_50;
+x_10 = x_51;
+goto block_28;
+}
+}
+else
{
-obj* x_54; obj* x_55; obj* x_56;
-x_54 = lean::cnstr_get(x_52, 1);
+obj* x_52; obj* x_53; obj* x_54; obj* x_55; obj* x_56;
+lean::dec(x_33);
+x_52 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
+x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_52, x_31);
+x_54 = lean::cnstr_get(x_53, 0);
lean::inc(x_54);
-lean::inc(x_2);
-x_55 = l_Lean_Parser_tokenFn(x_2, x_52);
-x_56 = lean::cnstr_get(x_55, 3);
+x_55 = lean::cnstr_get(x_53, 2);
+lean::inc(x_55);
+x_56 = lean::cnstr_get(x_53, 3);
lean::inc(x_56);
-if (lean::obj_tag(x_56) == 0)
+x_7 = x_53;
+x_8 = x_54;
+x_9 = x_55;
+x_10 = x_56;
+goto block_28;
+}
+}
+else
{
-obj* x_57; obj* x_58;
-x_57 = lean::cnstr_get(x_55, 0);
+obj* x_57; obj* x_58; obj* x_59;
+lean::dec(x_30);
+x_57 = lean::cnstr_get(x_29, 0);
lean::inc(x_57);
-x_58 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_57);
-lean::dec(x_57);
-if (lean::obj_tag(x_58) == 2)
-{
-obj* x_59; obj* x_60; uint8 x_61;
-x_59 = lean::cnstr_get(x_58, 1);
+x_58 = lean::cnstr_get(x_29, 2);
+lean::inc(x_58);
+x_59 = lean::cnstr_get(x_29, 3);
lean::inc(x_59);
-lean::dec(x_58);
-x_60 = l_Lean_Parser_Command_openHiding___elambda__1___closed__4;
-x_61 = lean::string_dec_eq(x_59, x_60);
-lean::dec(x_59);
-if (x_61 == 0)
+x_7 = x_29;
+x_8 = x_57;
+x_9 = x_58;
+x_10 = x_59;
+goto block_28;
+}
+block_28:
{
-obj* x_62; obj* x_63; obj* x_64; obj* x_65; obj* x_66;
-x_62 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_62, x_54);
-x_64 = lean::cnstr_get(x_63, 0);
-lean::inc(x_64);
-x_65 = lean::cnstr_get(x_63, 2);
-lean::inc(x_65);
-x_66 = lean::cnstr_get(x_63, 3);
-lean::inc(x_66);
-x_34 = x_63;
-x_35 = x_64;
-x_36 = x_65;
-x_37 = x_66;
-goto block_51;
+if (lean::obj_tag(x_10) == 0)
+{
+obj* x_11; obj* x_12; obj* x_13;
+lean::dec(x_9);
+lean::dec(x_5);
+x_11 = lean::array_get_size(x_8);
+lean::dec(x_8);
+lean::inc(x_2);
+x_12 = l_Lean_Parser_identFn___rarg(x_2, x_7);
+x_13 = lean::cnstr_get(x_12, 3);
+lean::inc(x_13);
+if (lean::obj_tag(x_13) == 0)
+{
+uint8 x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19;
+x_14 = 0;
+x_15 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_14, x_1, x_2, x_12);
+x_16 = l_Lean_nullKind;
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_11);
+x_18 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_6);
+return x_19;
}
else
{
-obj* x_67; obj* x_68; obj* x_69;
-lean::dec(x_54);
-x_67 = lean::cnstr_get(x_55, 0);
-lean::inc(x_67);
-x_68 = lean::cnstr_get(x_55, 2);
-lean::inc(x_68);
-x_69 = lean::cnstr_get(x_55, 3);
-lean::inc(x_69);
-x_34 = x_55;
-x_35 = x_67;
-x_36 = x_68;
-x_37 = x_69;
-goto block_51;
+obj* x_20; obj* x_21; obj* x_22; obj* x_23;
+lean::dec(x_13);
+lean::dec(x_2);
+x_20 = l_Lean_nullKind;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_12, x_20, x_11);
+x_22 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_6);
+return x_23;
}
}
else
{
-obj* x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74;
-lean::dec(x_58);
-x_70 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_70, x_54);
-x_72 = lean::cnstr_get(x_71, 0);
-lean::inc(x_72);
-x_73 = lean::cnstr_get(x_71, 2);
-lean::inc(x_73);
-x_74 = lean::cnstr_get(x_71, 3);
-lean::inc(x_74);
-x_34 = x_71;
-x_35 = x_72;
-x_36 = x_73;
-x_37 = x_74;
-goto block_51;
-}
-}
-else
-{
-obj* x_75; obj* x_76; obj* x_77; obj* x_78; obj* x_79;
-lean::dec(x_56);
-x_75 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_75, x_54);
-x_77 = lean::cnstr_get(x_76, 0);
-lean::inc(x_77);
-x_78 = lean::cnstr_get(x_76, 2);
-lean::inc(x_78);
-x_79 = lean::cnstr_get(x_76, 3);
-lean::inc(x_79);
-x_34 = x_76;
-x_35 = x_77;
-x_36 = x_78;
-x_37 = x_79;
-goto block_51;
-}
-}
-else
-{
-obj* x_80; obj* x_81; obj* x_82;
-lean::dec(x_53);
-x_80 = lean::cnstr_get(x_52, 0);
-lean::inc(x_80);
-x_81 = lean::cnstr_get(x_52, 2);
-lean::inc(x_81);
-x_82 = lean::cnstr_get(x_52, 3);
-lean::inc(x_82);
-x_34 = x_52;
-x_35 = x_80;
-x_36 = x_81;
-x_37 = x_82;
-goto block_51;
+obj* x_24; obj* x_25; obj* x_26; obj* x_27;
+lean::dec(x_7);
+lean::dec(x_2);
+x_24 = l_Array_shrink___main___rarg(x_8, x_6);
+x_25 = lean::alloc_cnstr(0, 4, 0);
+lean::cnstr_set(x_25, 0, x_24);
+lean::cnstr_set(x_25, 1, x_5);
+lean::cnstr_set(x_25, 2, x_9);
+lean::cnstr_set(x_25, 3, x_10);
+x_26 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_6);
+return x_27;
}
}
}
@@ -17837,7 +17731,7 @@ obj* _init_l_Lean_Parser_Command_openHiding___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_explicitBinder___closed__1;
+x_1 = l_Lean_Parser_ident___closed__1;
x_2 = l_Lean_Parser_Command_openHiding___closed__1;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -17848,7 +17742,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Command_openHiding___closed__2;
-x_2 = l_Lean_Parser_Command_export___closed__2;
+x_2 = l_Lean_Parser_ident___closed__1;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -18181,13 +18075,13 @@ obj* x_27; obj* x_28; uint8 x_29;
x_27 = lean::cnstr_get(x_26, 1);
lean::inc(x_27);
lean::dec(x_26);
-x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_29 = lean::string_dec_eq(x_27, x_28);
lean::dec(x_27);
if (x_29 == 0)
{
obj* x_30; obj* x_31;
-x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
x_16 = x_31;
@@ -18203,7 +18097,7 @@ else
{
obj* x_32; obj* x_33;
lean::dec(x_26);
-x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
x_16 = x_33;
@@ -18214,7 +18108,7 @@ else
{
obj* x_34; obj* x_35;
lean::dec(x_24);
-x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
x_16 = x_35;
@@ -18360,7 +18254,7 @@ return x_3;
obj* l_Lean_Parser_Command_openRenaming___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
-obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_40; obj* x_41; obj* x_42; obj* x_43; obj* x_47; obj* x_79; obj* x_80;
+obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_21; obj* x_22;
x_4 = lean::cnstr_get(x_3, 0);
lean::inc(x_4);
x_5 = lean::cnstr_get(x_3, 1);
@@ -18368,300 +18262,151 @@ lean::inc(x_5);
x_6 = lean::array_get_size(x_4);
lean::dec(x_4);
lean::inc(x_2);
-x_79 = l_Lean_Parser_tokenFn(x_2, x_3);
-x_80 = lean::cnstr_get(x_79, 3);
-lean::inc(x_80);
-if (lean::obj_tag(x_80) == 0)
+x_21 = l_Lean_Parser_identFn___rarg(x_2, x_3);
+x_22 = lean::cnstr_get(x_21, 3);
+lean::inc(x_22);
+if (lean::obj_tag(x_22) == 0)
{
-obj* x_81; obj* x_82;
-x_81 = lean::cnstr_get(x_79, 0);
-lean::inc(x_81);
-x_82 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_81);
-lean::dec(x_81);
-if (lean::obj_tag(x_82) == 2)
-{
-obj* x_83; obj* x_84; uint8 x_85;
-x_83 = lean::cnstr_get(x_82, 1);
-lean::inc(x_83);
-lean::dec(x_82);
-x_84 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__5;
-x_85 = lean::string_dec_eq(x_83, x_84);
-lean::dec(x_83);
-if (x_85 == 0)
-{
-obj* x_86; obj* x_87;
-x_86 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_86, x_5);
-x_47 = x_87;
-goto block_78;
-}
-else
-{
-x_47 = x_79;
-goto block_78;
-}
-}
-else
-{
-obj* x_88; obj* x_89;
-lean::dec(x_82);
-x_88 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_89 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_88, x_5);
-x_47 = x_89;
-goto block_78;
-}
-}
-else
-{
-obj* x_90; obj* x_91;
-lean::dec(x_80);
-x_90 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
-lean::inc(x_5);
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_90, x_5);
-x_47 = x_91;
-goto block_78;
-}
-block_39:
-{
-obj* x_8;
-x_8 = lean::cnstr_get(x_7, 3);
-lean::inc(x_8);
-if (lean::obj_tag(x_8) == 0)
-{
-uint8 x_9; uint8 x_10; obj* x_11; obj* x_12;
-x_9 = 0;
-x_10 = 0;
+obj* x_23; obj* x_24; obj* x_25;
+x_23 = lean::cnstr_get(x_21, 1);
+lean::inc(x_23);
lean::inc(x_2);
-x_11 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1(x_9, x_10, x_1, x_2, x_7);
-x_12 = lean::cnstr_get(x_11, 3);
-lean::inc(x_12);
-if (lean::obj_tag(x_12) == 0)
+x_24 = l_Lean_Parser_tokenFn(x_2, x_21);
+x_25 = lean::cnstr_get(x_24, 3);
+lean::inc(x_25);
+if (lean::obj_tag(x_25) == 0)
{
-obj* x_13; obj* x_14; obj* x_15;
-x_13 = lean::cnstr_get(x_11, 1);
-lean::inc(x_13);
-x_14 = l_Lean_Parser_tokenFn(x_2, x_11);
-x_15 = lean::cnstr_get(x_14, 3);
-lean::inc(x_15);
-if (lean::obj_tag(x_15) == 0)
+obj* x_26; obj* x_27;
+x_26 = lean::cnstr_get(x_24, 0);
+lean::inc(x_26);
+x_27 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_26);
+lean::dec(x_26);
+if (lean::obj_tag(x_27) == 2)
{
-obj* x_16; obj* x_17;
-x_16 = lean::cnstr_get(x_14, 0);
-lean::inc(x_16);
-x_17 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_16);
-lean::dec(x_16);
-if (lean::obj_tag(x_17) == 2)
+obj* x_28; obj* x_29; uint8 x_30;
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__4;
+x_30 = lean::string_dec_eq(x_28, x_29);
+lean::dec(x_28);
+if (x_30 == 0)
{
-obj* x_18; obj* x_19; uint8 x_20;
-x_18 = lean::cnstr_get(x_17, 1);
-lean::inc(x_18);
-lean::dec(x_17);
-x_19 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__6;
-x_20 = lean::string_dec_eq(x_18, x_19);
-lean::dec(x_18);
-if (x_20 == 0)
-{
-obj* x_21; obj* x_22; obj* x_23; obj* x_24;
-x_21 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_6);
-return x_24;
+obj* x_31; obj* x_32; obj* x_33; obj* x_34; obj* x_35;
+x_31 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
+x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_31, x_23);
+x_33 = lean::cnstr_get(x_32, 0);
+lean::inc(x_33);
+x_34 = lean::cnstr_get(x_32, 2);
+lean::inc(x_34);
+x_35 = lean::cnstr_get(x_32, 3);
+lean::inc(x_35);
+x_7 = x_32;
+x_8 = x_33;
+x_9 = x_34;
+x_10 = x_35;
+goto block_20;
}
else
{
-obj* x_25; obj* x_26;
-lean::dec(x_13);
-x_25 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_6);
-return x_26;
+obj* x_36; obj* x_37; obj* x_38;
+lean::dec(x_23);
+x_36 = lean::cnstr_get(x_24, 0);
+lean::inc(x_36);
+x_37 = lean::cnstr_get(x_24, 2);
+lean::inc(x_37);
+x_38 = lean::cnstr_get(x_24, 3);
+lean::inc(x_38);
+x_7 = x_24;
+x_8 = x_36;
+x_9 = x_37;
+x_10 = x_38;
+goto block_20;
}
}
else
{
-obj* x_27; obj* x_28; obj* x_29; obj* x_30;
-lean::dec(x_17);
-x_27 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_27, x_13);
-x_29 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_6);
-return x_30;
-}
-}
-else
-{
-obj* x_31; obj* x_32; obj* x_33; obj* x_34;
-lean::dec(x_15);
-x_31 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_31, x_13);
-x_33 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_6);
-return x_34;
-}
-}
-else
-{
-obj* x_35; obj* x_36;
-lean::dec(x_12);
-lean::dec(x_2);
-x_35 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_11, x_35, x_6);
-return x_36;
-}
-}
-else
-{
-obj* x_37; obj* x_38;
-lean::dec(x_8);
-lean::dec(x_2);
-x_37 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_7, x_37, x_6);
-return x_38;
-}
-}
-block_46:
-{
-if (lean::obj_tag(x_43) == 0)
-{
-lean::dec(x_42);
-lean::dec(x_41);
-lean::dec(x_5);
+obj* x_39; obj* x_40; obj* x_41; obj* x_42; obj* x_43;
+lean::dec(x_27);
+x_39 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
+x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_39, x_23);
+x_41 = lean::cnstr_get(x_40, 0);
+lean::inc(x_41);
+x_42 = lean::cnstr_get(x_40, 2);
+lean::inc(x_42);
+x_43 = lean::cnstr_get(x_40, 3);
+lean::inc(x_43);
x_7 = x_40;
-goto block_39;
+x_8 = x_41;
+x_9 = x_42;
+x_10 = x_43;
+goto block_20;
+}
}
else
{
-obj* x_44; obj* x_45;
-lean::dec(x_40);
-x_44 = l_Array_shrink___main___rarg(x_41, x_6);
-x_45 = lean::alloc_cnstr(0, 4, 0);
-lean::cnstr_set(x_45, 0, x_44);
-lean::cnstr_set(x_45, 1, x_5);
-lean::cnstr_set(x_45, 2, x_42);
-lean::cnstr_set(x_45, 3, x_43);
-x_7 = x_45;
-goto block_39;
-}
-}
-block_78:
-{
-obj* x_48;
-x_48 = lean::cnstr_get(x_47, 3);
+obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_48;
+lean::dec(x_25);
+x_44 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
+x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_44, x_23);
+x_46 = lean::cnstr_get(x_45, 0);
+lean::inc(x_46);
+x_47 = lean::cnstr_get(x_45, 2);
+lean::inc(x_47);
+x_48 = lean::cnstr_get(x_45, 3);
lean::inc(x_48);
-if (lean::obj_tag(x_48) == 0)
+x_7 = x_45;
+x_8 = x_46;
+x_9 = x_47;
+x_10 = x_48;
+goto block_20;
+}
+}
+else
{
obj* x_49; obj* x_50; obj* x_51;
-x_49 = lean::cnstr_get(x_47, 1);
+lean::dec(x_22);
+x_49 = lean::cnstr_get(x_21, 0);
lean::inc(x_49);
-lean::inc(x_2);
-x_50 = l_Lean_Parser_tokenFn(x_2, x_47);
-x_51 = lean::cnstr_get(x_50, 3);
+x_50 = lean::cnstr_get(x_21, 2);
+lean::inc(x_50);
+x_51 = lean::cnstr_get(x_21, 3);
lean::inc(x_51);
-if (lean::obj_tag(x_51) == 0)
+x_7 = x_21;
+x_8 = x_49;
+x_9 = x_50;
+x_10 = x_51;
+goto block_20;
+}
+block_20:
{
-obj* x_52; obj* x_53;
-x_52 = lean::cnstr_get(x_50, 0);
-lean::inc(x_52);
-x_53 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_52);
-lean::dec(x_52);
-if (lean::obj_tag(x_53) == 2)
+if (lean::obj_tag(x_10) == 0)
{
-obj* x_54; obj* x_55; uint8 x_56;
-x_54 = lean::cnstr_get(x_53, 1);
-lean::inc(x_54);
-lean::dec(x_53);
-x_55 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__4;
-x_56 = lean::string_dec_eq(x_54, x_55);
-lean::dec(x_54);
-if (x_56 == 0)
-{
-obj* x_57; obj* x_58; obj* x_59; obj* x_60; obj* x_61;
-x_57 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_57, x_49);
-x_59 = lean::cnstr_get(x_58, 0);
-lean::inc(x_59);
-x_60 = lean::cnstr_get(x_58, 2);
-lean::inc(x_60);
-x_61 = lean::cnstr_get(x_58, 3);
-lean::inc(x_61);
-x_40 = x_58;
-x_41 = x_59;
-x_42 = x_60;
-x_43 = x_61;
-goto block_46;
+uint8 x_11; uint8 x_12; obj* x_13; obj* x_14; obj* x_15;
+lean::dec(x_9);
+lean::dec(x_8);
+lean::dec(x_5);
+x_11 = 0;
+x_12 = 0;
+x_13 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1(x_11, x_12, x_1, x_2, x_7);
+x_14 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_6);
+return x_15;
}
else
{
-obj* x_62; obj* x_63; obj* x_64;
-lean::dec(x_49);
-x_62 = lean::cnstr_get(x_50, 0);
-lean::inc(x_62);
-x_63 = lean::cnstr_get(x_50, 2);
-lean::inc(x_63);
-x_64 = lean::cnstr_get(x_50, 3);
-lean::inc(x_64);
-x_40 = x_50;
-x_41 = x_62;
-x_42 = x_63;
-x_43 = x_64;
-goto block_46;
-}
-}
-else
-{
-obj* x_65; obj* x_66; obj* x_67; obj* x_68; obj* x_69;
-lean::dec(x_53);
-x_65 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_65, x_49);
-x_67 = lean::cnstr_get(x_66, 0);
-lean::inc(x_67);
-x_68 = lean::cnstr_get(x_66, 2);
-lean::inc(x_68);
-x_69 = lean::cnstr_get(x_66, 3);
-lean::inc(x_69);
-x_40 = x_66;
-x_41 = x_67;
-x_42 = x_68;
-x_43 = x_69;
-goto block_46;
-}
-}
-else
-{
-obj* x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74;
-lean::dec(x_51);
-x_70 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_70, x_49);
-x_72 = lean::cnstr_get(x_71, 0);
-lean::inc(x_72);
-x_73 = lean::cnstr_get(x_71, 2);
-lean::inc(x_73);
-x_74 = lean::cnstr_get(x_71, 3);
-lean::inc(x_74);
-x_40 = x_71;
-x_41 = x_72;
-x_42 = x_73;
-x_43 = x_74;
-goto block_46;
-}
-}
-else
-{
-obj* x_75; obj* x_76; obj* x_77;
-lean::dec(x_48);
-x_75 = lean::cnstr_get(x_47, 0);
-lean::inc(x_75);
-x_76 = lean::cnstr_get(x_47, 2);
-lean::inc(x_76);
-x_77 = lean::cnstr_get(x_47, 3);
-lean::inc(x_77);
-x_40 = x_47;
-x_41 = x_75;
-x_42 = x_76;
-x_43 = x_77;
-goto block_46;
+obj* x_16; obj* x_17; obj* x_18; obj* x_19;
+lean::dec(x_7);
+lean::dec(x_2);
+x_16 = l_Array_shrink___main___rarg(x_8, x_6);
+x_17 = lean::alloc_cnstr(0, 4, 0);
+lean::cnstr_set(x_17, 0, x_16);
+lean::cnstr_set(x_17, 1, x_5);
+lean::cnstr_set(x_17, 2, x_9);
+lean::cnstr_set(x_17, 3, x_10);
+x_18 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_6);
+return x_19;
}
}
}
@@ -18688,7 +18433,7 @@ obj* _init_l_Lean_Parser_Command_openRenaming___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_explicitBinder___closed__1;
+x_1 = l_Lean_Parser_ident___closed__1;
x_2 = l_Lean_Parser_Command_openRenaming___closed__1;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -18701,7 +18446,7 @@ obj* x_1; obj* x_2; obj* x_3; obj* x_4;
x_1 = l_Lean_Parser_Command_openRenamingItem;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_Lean_Parser_Term_id___closed__2;
+x_3 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_4 = l_Lean_Parser_sepBy1Info(x_2, x_3);
return x_4;
}
@@ -18710,8 +18455,8 @@ obj* _init_l_Lean_Parser_Command_openRenaming___closed__4() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_openRenaming___closed__3;
-x_2 = l_Lean_Parser_Level_paren___closed__3;
+x_1 = l_Lean_Parser_Command_openRenaming___closed__2;
+x_2 = l_Lean_Parser_Command_openRenaming___closed__3;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -18719,23 +18464,13 @@ return x_3;
obj* _init_l_Lean_Parser_Command_openRenaming___closed__5() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_openRenaming___closed__2;
-x_2 = l_Lean_Parser_Command_openRenaming___closed__4;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_openRenaming___closed__6() {
-_start:
-{
obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Command_openRenaming___closed__5;
+x_1 = l_Lean_Parser_Command_openRenaming___closed__4;
x_2 = l_Lean_Parser_nodeInfo(x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Command_openRenaming___closed__7() {
+obj* _init_l_Lean_Parser_Command_openRenaming___closed__6() {
_start:
{
obj* x_1;
@@ -18743,12 +18478,12 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Command_openRena
return x_1;
}
}
-obj* _init_l_Lean_Parser_Command_openRenaming___closed__8() {
+obj* _init_l_Lean_Parser_Command_openRenaming___closed__7() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_openRenaming___closed__6;
-x_2 = l_Lean_Parser_Command_openRenaming___closed__7;
+x_1 = l_Lean_Parser_Command_openRenaming___closed__5;
+x_2 = l_Lean_Parser_Command_openRenaming___closed__6;
x_3 = lean::alloc_cnstr(0, 2, 0);
lean::cnstr_set(x_3, 0, x_1);
lean::cnstr_set(x_3, 1, x_2);
@@ -18759,7 +18494,7 @@ obj* _init_l_Lean_Parser_Command_openRenaming() {
_start:
{
obj* x_1;
-x_1 = l_Lean_Parser_Command_openRenaming___closed__8;
+x_1 = l_Lean_Parser_Command_openRenaming___closed__7;
return x_1;
}
}
@@ -18813,6 +18548,450 @@ lean::dec(x_3);
return x_8;
}
}
+obj* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("openOnly");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_openOnly___elambda__1___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+obj* l_Lean_Parser_Command_openOnly___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_52; obj* x_53;
+x_4 = lean::cnstr_get(x_3, 0);
+lean::inc(x_4);
+x_5 = lean::cnstr_get(x_3, 1);
+lean::inc(x_5);
+x_6 = lean::array_get_size(x_4);
+lean::dec(x_4);
+lean::inc(x_2);
+x_52 = l_Lean_Parser_identFn___rarg(x_2, x_3);
+x_53 = lean::cnstr_get(x_52, 3);
+lean::inc(x_53);
+if (lean::obj_tag(x_53) == 0)
+{
+obj* x_54; obj* x_55; obj* x_56;
+x_54 = lean::cnstr_get(x_52, 1);
+lean::inc(x_54);
+lean::inc(x_2);
+x_55 = l_Lean_Parser_tokenFn(x_2, x_52);
+x_56 = lean::cnstr_get(x_55, 3);
+lean::inc(x_56);
+if (lean::obj_tag(x_56) == 0)
+{
+obj* x_57; obj* x_58;
+x_57 = lean::cnstr_get(x_55, 0);
+lean::inc(x_57);
+x_58 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_57);
+lean::dec(x_57);
+if (lean::obj_tag(x_58) == 2)
+{
+obj* x_59; obj* x_60; uint8 x_61;
+x_59 = lean::cnstr_get(x_58, 1);
+lean::inc(x_59);
+lean::dec(x_58);
+x_60 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__5;
+x_61 = lean::string_dec_eq(x_59, x_60);
+lean::dec(x_59);
+if (x_61 == 0)
+{
+obj* x_62; obj* x_63; obj* x_64; obj* x_65; obj* x_66;
+x_62 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
+x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_62, x_54);
+x_64 = lean::cnstr_get(x_63, 0);
+lean::inc(x_64);
+x_65 = lean::cnstr_get(x_63, 2);
+lean::inc(x_65);
+x_66 = lean::cnstr_get(x_63, 3);
+lean::inc(x_66);
+x_34 = x_63;
+x_35 = x_64;
+x_36 = x_65;
+x_37 = x_66;
+goto block_51;
+}
+else
+{
+obj* x_67; obj* x_68; obj* x_69;
+lean::dec(x_54);
+x_67 = lean::cnstr_get(x_55, 0);
+lean::inc(x_67);
+x_68 = lean::cnstr_get(x_55, 2);
+lean::inc(x_68);
+x_69 = lean::cnstr_get(x_55, 3);
+lean::inc(x_69);
+x_34 = x_55;
+x_35 = x_67;
+x_36 = x_68;
+x_37 = x_69;
+goto block_51;
+}
+}
+else
+{
+obj* x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74;
+lean::dec(x_58);
+x_70 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
+x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_70, x_54);
+x_72 = lean::cnstr_get(x_71, 0);
+lean::inc(x_72);
+x_73 = lean::cnstr_get(x_71, 2);
+lean::inc(x_73);
+x_74 = lean::cnstr_get(x_71, 3);
+lean::inc(x_74);
+x_34 = x_71;
+x_35 = x_72;
+x_36 = x_73;
+x_37 = x_74;
+goto block_51;
+}
+}
+else
+{
+obj* x_75; obj* x_76; obj* x_77; obj* x_78; obj* x_79;
+lean::dec(x_56);
+x_75 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__12;
+x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_75, x_54);
+x_77 = lean::cnstr_get(x_76, 0);
+lean::inc(x_77);
+x_78 = lean::cnstr_get(x_76, 2);
+lean::inc(x_78);
+x_79 = lean::cnstr_get(x_76, 3);
+lean::inc(x_79);
+x_34 = x_76;
+x_35 = x_77;
+x_36 = x_78;
+x_37 = x_79;
+goto block_51;
+}
+}
+else
+{
+obj* x_80; obj* x_81; obj* x_82;
+lean::dec(x_53);
+x_80 = lean::cnstr_get(x_52, 0);
+lean::inc(x_80);
+x_81 = lean::cnstr_get(x_52, 2);
+lean::inc(x_81);
+x_82 = lean::cnstr_get(x_52, 3);
+lean::inc(x_82);
+x_34 = x_52;
+x_35 = x_80;
+x_36 = x_81;
+x_37 = x_82;
+goto block_51;
+}
+block_33:
+{
+obj* x_8;
+x_8 = lean::cnstr_get(x_7, 3);
+lean::inc(x_8);
+if (lean::obj_tag(x_8) == 0)
+{
+obj* x_9; obj* x_10; obj* x_11;
+x_9 = lean::cnstr_get(x_7, 1);
+lean::inc(x_9);
+x_10 = l_Lean_Parser_tokenFn(x_2, x_7);
+x_11 = lean::cnstr_get(x_10, 3);
+lean::inc(x_11);
+if (lean::obj_tag(x_11) == 0)
+{
+obj* x_12; obj* x_13;
+x_12 = lean::cnstr_get(x_10, 0);
+lean::inc(x_12);
+x_13 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_12);
+lean::dec(x_12);
+if (lean::obj_tag(x_13) == 2)
+{
+obj* x_14; obj* x_15; uint8 x_16;
+x_14 = lean::cnstr_get(x_13, 1);
+lean::inc(x_14);
+lean::dec(x_13);
+x_15 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__6;
+x_16 = lean::string_dec_eq(x_14, x_15);
+lean::dec(x_14);
+if (x_16 == 0)
+{
+obj* x_17; obj* x_18; obj* x_19; obj* x_20;
+x_17 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
+x_18 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_17, x_9);
+x_19 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_6);
+return x_20;
+}
+else
+{
+obj* x_21; obj* x_22;
+lean::dec(x_9);
+x_21 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_10, x_21, x_6);
+return x_22;
+}
+}
+else
+{
+obj* x_23; obj* x_24; obj* x_25; obj* x_26;
+lean::dec(x_13);
+x_23 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
+x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_23, x_9);
+x_25 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_6);
+return x_26;
+}
+}
+else
+{
+obj* x_27; obj* x_28; obj* x_29; obj* x_30;
+lean::dec(x_11);
+x_27 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__9;
+x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_27, x_9);
+x_29 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_6);
+return x_30;
+}
+}
+else
+{
+obj* x_31; obj* x_32;
+lean::dec(x_8);
+lean::dec(x_2);
+x_31 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_7, x_31, x_6);
+return x_32;
+}
+}
+block_51:
+{
+if (lean::obj_tag(x_37) == 0)
+{
+obj* x_38; obj* x_39; obj* x_40;
+lean::dec(x_36);
+lean::dec(x_5);
+x_38 = lean::array_get_size(x_35);
+lean::dec(x_35);
+lean::inc(x_2);
+x_39 = l_Lean_Parser_identFn___rarg(x_2, x_34);
+x_40 = lean::cnstr_get(x_39, 3);
+lean::inc(x_40);
+if (lean::obj_tag(x_40) == 0)
+{
+uint8 x_41; obj* x_42; obj* x_43; obj* x_44;
+x_41 = 0;
+lean::inc(x_2);
+x_42 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_41, x_1, x_2, x_39);
+x_43 = l_Lean_nullKind;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_38);
+x_7 = x_44;
+goto block_33;
+}
+else
+{
+obj* x_45; obj* x_46;
+lean::dec(x_40);
+x_45 = l_Lean_nullKind;
+x_46 = l_Lean_Parser_ParserState_mkNode(x_39, x_45, x_38);
+x_7 = x_46;
+goto block_33;
+}
+}
+else
+{
+obj* x_47; obj* x_48; obj* x_49; obj* x_50;
+lean::dec(x_34);
+lean::dec(x_2);
+x_47 = l_Array_shrink___main___rarg(x_35, x_6);
+x_48 = lean::alloc_cnstr(0, 4, 0);
+lean::cnstr_set(x_48, 0, x_47);
+lean::cnstr_set(x_48, 1, x_5);
+lean::cnstr_set(x_48, 2, x_36);
+lean::cnstr_set(x_48, 3, x_37);
+x_49 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_6);
+return x_50;
+}
+}
+}
+}
+obj* _init_l_Lean_Parser_Command_openOnly___closed__1() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_ident___closed__1;
+x_2 = l_Lean_Parser_Term_explicitBinder___closed__1;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_openOnly___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_openOnly___closed__1;
+x_2 = l_Lean_Parser_Command_export___closed__2;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_openOnly___closed__3() {
+_start:
+{
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Command_openOnly___closed__2;
+x_2 = l_Lean_Parser_nodeInfo(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Command_openOnly___closed__4() {
+_start:
+{
+obj* x_1;
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Command_openOnly___elambda__1___boxed), 3, 0);
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Command_openOnly___closed__5() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_openOnly___closed__3;
+x_2 = l_Lean_Parser_Command_openOnly___closed__4;
+x_3 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_3, 0, x_1);
+lean::cnstr_set(x_3, 1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_openOnly() {
+_start:
+{
+obj* x_1;
+x_1 = l_Lean_Parser_Command_openOnly___closed__5;
+return x_1;
+}
+}
+obj* l_Lean_Parser_Command_openOnly___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4;
+x_4 = l_Lean_Parser_Command_openOnly___elambda__1(x_1, x_2, x_3);
+lean::dec(x_1);
+return x_4;
+}
+}
+obj* _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("openSimple");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_openSimple___elambda__1___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+obj* l_Lean_Parser_Command_openSimple___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4; obj* x_5; obj* x_6; obj* x_7;
+x_4 = lean::cnstr_get(x_3, 0);
+lean::inc(x_4);
+x_5 = lean::array_get_size(x_4);
+lean::dec(x_4);
+lean::inc(x_2);
+x_6 = l_Lean_Parser_identFn___rarg(x_2, x_3);
+x_7 = lean::cnstr_get(x_6, 3);
+lean::inc(x_7);
+if (lean::obj_tag(x_7) == 0)
+{
+uint8 x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13;
+x_8 = 0;
+x_9 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_8, x_1, x_2, x_6);
+x_10 = l_Lean_nullKind;
+lean::inc(x_5);
+x_11 = l_Lean_Parser_ParserState_mkNode(x_9, x_10, x_5);
+x_12 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
+x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_5);
+return x_13;
+}
+else
+{
+obj* x_14; obj* x_15; obj* x_16; obj* x_17;
+lean::dec(x_7);
+lean::dec(x_2);
+x_14 = l_Lean_nullKind;
+lean::inc(x_5);
+x_15 = l_Lean_Parser_ParserState_mkNode(x_6, x_14, x_5);
+x_16 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_5);
+return x_17;
+}
+}
+}
+obj* _init_l_Lean_Parser_Command_openSimple___closed__1() {
+_start:
+{
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_ident___closed__1;
+x_2 = l_Lean_Parser_nodeInfo(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Command_openSimple___closed__2() {
+_start:
+{
+obj* x_1;
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Command_openSimple___elambda__1___boxed), 3, 0);
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Command_openSimple___closed__3() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Command_openSimple___closed__1;
+x_2 = l_Lean_Parser_Command_openSimple___closed__2;
+x_3 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_3, 0, x_1);
+lean::cnstr_set(x_3, 1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Command_openSimple() {
+_start:
+{
+obj* x_1;
+x_1 = l_Lean_Parser_Command_openSimple___closed__3;
+return x_1;
+}
+}
+obj* l_Lean_Parser_Command_openSimple___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4;
+x_4 = l_Lean_Parser_Command_openSimple___elambda__1(x_1, x_2, x_3);
+lean::dec(x_1);
+return x_4;
+}
+}
obj* _init_l_Lean_Parser_Command_open___elambda__1___closed__1() {
_start:
{
@@ -18883,68 +19062,68 @@ return x_3;
obj* l_Lean_Parser_Command_open___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
-obj* x_4; obj* x_5; obj* x_6; obj* x_31; obj* x_50; obj* x_73; obj* x_74; obj* x_75;
+obj* x_4; obj* x_5; obj* x_6; obj* x_60; obj* x_61; obj* x_62;
x_4 = lean::cnstr_get(x_3, 0);
lean::inc(x_4);
x_5 = lean::array_get_size(x_4);
lean::dec(x_4);
-x_73 = lean::cnstr_get(x_3, 1);
-lean::inc(x_73);
+x_60 = lean::cnstr_get(x_3, 1);
+lean::inc(x_60);
lean::inc(x_2);
-x_74 = l_Lean_Parser_tokenFn(x_2, x_3);
-x_75 = lean::cnstr_get(x_74, 3);
-lean::inc(x_75);
-if (lean::obj_tag(x_75) == 0)
+x_61 = l_Lean_Parser_tokenFn(x_2, x_3);
+x_62 = lean::cnstr_get(x_61, 3);
+lean::inc(x_62);
+if (lean::obj_tag(x_62) == 0)
{
-obj* x_76; obj* x_77;
-x_76 = lean::cnstr_get(x_74, 0);
-lean::inc(x_76);
-x_77 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_76);
-lean::dec(x_76);
-if (lean::obj_tag(x_77) == 2)
+obj* x_63; obj* x_64;
+x_63 = lean::cnstr_get(x_61, 0);
+lean::inc(x_63);
+x_64 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_63);
+lean::dec(x_63);
+if (lean::obj_tag(x_64) == 2)
{
-obj* x_78; obj* x_79; uint8 x_80;
-x_78 = lean::cnstr_get(x_77, 1);
-lean::inc(x_78);
-lean::dec(x_77);
-x_79 = l_Lean_Parser_Command_open___elambda__1___closed__4;
-x_80 = lean::string_dec_eq(x_78, x_79);
-lean::dec(x_78);
-if (x_80 == 0)
+obj* x_65; obj* x_66; uint8 x_67;
+x_65 = lean::cnstr_get(x_64, 1);
+lean::inc(x_65);
+lean::dec(x_64);
+x_66 = l_Lean_Parser_Command_open___elambda__1___closed__4;
+x_67 = lean::string_dec_eq(x_65, x_66);
+lean::dec(x_65);
+if (x_67 == 0)
{
-obj* x_81; obj* x_82;
-x_81 = l_Lean_Parser_Command_open___elambda__1___closed__7;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_81, x_73);
-x_50 = x_82;
-goto block_72;
+obj* x_68; obj* x_69;
+x_68 = l_Lean_Parser_Command_open___elambda__1___closed__7;
+x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_68, x_60);
+x_6 = x_69;
+goto block_59;
}
else
{
-lean::dec(x_73);
-x_50 = x_74;
-goto block_72;
+lean::dec(x_60);
+x_6 = x_61;
+goto block_59;
}
}
else
{
-obj* x_83; obj* x_84;
-lean::dec(x_77);
-x_83 = l_Lean_Parser_Command_open___elambda__1___closed__7;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_83, x_73);
-x_50 = x_84;
-goto block_72;
+obj* x_70; obj* x_71;
+lean::dec(x_64);
+x_70 = l_Lean_Parser_Command_open___elambda__1___closed__7;
+x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_70, x_60);
+x_6 = x_71;
+goto block_59;
}
}
else
{
-obj* x_85; obj* x_86;
-lean::dec(x_75);
-x_85 = l_Lean_Parser_Command_open___elambda__1___closed__7;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_85, x_73);
-x_50 = x_86;
-goto block_72;
+obj* x_72; obj* x_73;
+lean::dec(x_62);
+x_72 = l_Lean_Parser_Command_open___elambda__1___closed__7;
+x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_72, x_60);
+x_6 = x_73;
+goto block_59;
}
-block_30:
+block_59:
{
obj* x_7;
x_7 = lean::cnstr_get(x_6, 3);
@@ -18958,204 +19137,166 @@ x_9 = lean::array_get_size(x_8);
lean::dec(x_8);
x_10 = lean::cnstr_get(x_6, 1);
lean::inc(x_10);
+lean::inc(x_2);
x_11 = l_Lean_Parser_Command_openHiding___elambda__1(x_1, x_2, x_6);
x_12 = lean::cnstr_get(x_11, 3);
lean::inc(x_12);
if (lean::obj_tag(x_12) == 0)
{
-obj* x_13; obj* x_14; obj* x_15; obj* x_16;
+obj* x_13; obj* x_14;
lean::dec(x_10);
-x_13 = l_Lean_nullKind;
-x_14 = l_Lean_Parser_ParserState_mkNode(x_11, x_13, x_9);
-x_15 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_5);
-return x_16;
+lean::dec(x_9);
+lean::dec(x_2);
+x_13 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_14 = l_Lean_Parser_ParserState_mkNode(x_11, x_13, x_5);
+return x_14;
}
else
{
-obj* x_17; uint8 x_18;
+obj* x_15; obj* x_16; uint8 x_17;
+x_15 = lean::cnstr_get(x_12, 0);
+lean::inc(x_15);
lean::dec(x_12);
-x_17 = lean::cnstr_get(x_11, 1);
-lean::inc(x_17);
-x_18 = lean::nat_dec_eq(x_17, x_10);
-lean::dec(x_17);
-if (x_18 == 0)
+x_16 = lean::cnstr_get(x_11, 1);
+lean::inc(x_16);
+x_17 = lean::nat_dec_eq(x_16, x_10);
+lean::dec(x_16);
+if (x_17 == 0)
{
-obj* x_19; obj* x_20; obj* x_21; obj* x_22;
+obj* x_18; obj* x_19;
+lean::dec(x_15);
lean::dec(x_10);
-x_19 = l_Lean_nullKind;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_11, x_19, x_9);
-x_21 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_5);
-return x_22;
+lean::dec(x_9);
+lean::dec(x_2);
+x_18 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_5);
+return x_19;
}
else
{
-obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27;
-x_23 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_9);
+obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24;
+lean::inc(x_10);
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
+lean::dec(x_9);
+x_21 = lean::cnstr_get(x_20, 0);
+lean::inc(x_21);
+x_22 = lean::array_get_size(x_21);
+lean::dec(x_21);
+lean::inc(x_2);
+x_23 = l_Lean_Parser_Command_openRenaming___elambda__1(x_1, x_2, x_20);
+x_24 = lean::cnstr_get(x_23, 3);
+lean::inc(x_24);
+if (lean::obj_tag(x_24) == 0)
+{
+obj* x_25; obj* x_26; obj* x_27;
+lean::dec(x_22);
+lean::dec(x_2);
+x_25 = l_Lean_Parser_mergeOrElseErrors(x_23, x_15, x_10);
+lean::dec(x_10);
x_26 = l_Lean_Parser_Command_open___elambda__1___closed__2;
x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5);
return x_27;
}
+else
+{
+obj* x_28; obj* x_29; uint8 x_30;
+x_28 = lean::cnstr_get(x_24, 0);
+lean::inc(x_28);
+lean::dec(x_24);
+x_29 = lean::cnstr_get(x_23, 1);
+lean::inc(x_29);
+x_30 = lean::nat_dec_eq(x_29, x_10);
+lean::dec(x_29);
+if (x_30 == 0)
+{
+obj* x_31; obj* x_32; obj* x_33;
+lean::dec(x_28);
+lean::dec(x_22);
+lean::dec(x_2);
+x_31 = l_Lean_Parser_mergeOrElseErrors(x_23, x_15, x_10);
+lean::dec(x_10);
+x_32 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_5);
+return x_33;
+}
+else
+{
+obj* x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_38;
+lean::inc(x_10);
+x_34 = l_Lean_Parser_ParserState_restore(x_23, x_22, x_10);
+lean::dec(x_22);
+x_35 = lean::cnstr_get(x_34, 0);
+lean::inc(x_35);
+x_36 = lean::array_get_size(x_35);
+lean::dec(x_35);
+lean::inc(x_2);
+x_37 = l_Lean_Parser_Command_openOnly___elambda__1(x_1, x_2, x_34);
+x_38 = lean::cnstr_get(x_37, 3);
+lean::inc(x_38);
+if (lean::obj_tag(x_38) == 0)
+{
+obj* x_39; obj* x_40; obj* x_41; obj* x_42;
+lean::dec(x_36);
+lean::dec(x_2);
+x_39 = l_Lean_Parser_mergeOrElseErrors(x_37, x_28, x_10);
+x_40 = l_Lean_Parser_mergeOrElseErrors(x_39, x_15, x_10);
+lean::dec(x_10);
+x_41 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_5);
+return x_42;
+}
+else
+{
+obj* x_43; obj* x_44; uint8 x_45;
+x_43 = lean::cnstr_get(x_38, 0);
+lean::inc(x_43);
+lean::dec(x_38);
+x_44 = lean::cnstr_get(x_37, 1);
+lean::inc(x_44);
+x_45 = lean::nat_dec_eq(x_44, x_10);
+lean::dec(x_44);
+if (x_45 == 0)
+{
+obj* x_46; obj* x_47; obj* x_48; obj* x_49;
+lean::dec(x_43);
+lean::dec(x_36);
+lean::dec(x_2);
+x_46 = l_Lean_Parser_mergeOrElseErrors(x_37, x_28, x_10);
+x_47 = l_Lean_Parser_mergeOrElseErrors(x_46, x_15, x_10);
+lean::dec(x_10);
+x_48 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_5);
+return x_49;
+}
+else
+{
+obj* x_50; obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_55; obj* x_56;
+lean::inc(x_10);
+x_50 = l_Lean_Parser_ParserState_restore(x_37, x_36, x_10);
+lean::dec(x_36);
+x_51 = l_Lean_Parser_Command_openSimple___elambda__1(x_1, x_2, x_50);
+x_52 = l_Lean_Parser_mergeOrElseErrors(x_51, x_43, x_10);
+x_53 = l_Lean_Parser_mergeOrElseErrors(x_52, x_28, x_10);
+x_54 = l_Lean_Parser_mergeOrElseErrors(x_53, x_15, x_10);
+lean::dec(x_10);
+x_55 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_56 = l_Lean_Parser_ParserState_mkNode(x_54, x_55, x_5);
+return x_56;
+}
+}
+}
+}
+}
}
}
else
{
-obj* x_28; obj* x_29;
+obj* x_57; obj* x_58;
lean::dec(x_7);
lean::dec(x_2);
-x_28 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_6, x_28, x_5);
-return x_29;
-}
-}
-block_49:
-{
-obj* x_32;
-x_32 = lean::cnstr_get(x_31, 3);
-lean::inc(x_32);
-if (lean::obj_tag(x_32) == 0)
-{
-obj* x_33; obj* x_34; obj* x_35; obj* x_36; obj* x_37;
-x_33 = lean::cnstr_get(x_31, 0);
-lean::inc(x_33);
-x_34 = lean::array_get_size(x_33);
-lean::dec(x_33);
-x_35 = lean::cnstr_get(x_31, 1);
-lean::inc(x_35);
-lean::inc(x_2);
-x_36 = l_Lean_Parser_Command_openRenaming___elambda__1(x_1, x_2, x_31);
-x_37 = lean::cnstr_get(x_36, 3);
-lean::inc(x_37);
-if (lean::obj_tag(x_37) == 0)
-{
-obj* x_38; obj* x_39;
-lean::dec(x_35);
-x_38 = l_Lean_nullKind;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_36, x_38, x_34);
-x_6 = x_39;
-goto block_30;
-}
-else
-{
-obj* x_40; uint8 x_41;
-lean::dec(x_37);
-x_40 = lean::cnstr_get(x_36, 1);
-lean::inc(x_40);
-x_41 = lean::nat_dec_eq(x_40, x_35);
-lean::dec(x_40);
-if (x_41 == 0)
-{
-obj* x_42; obj* x_43;
-lean::dec(x_35);
-x_42 = l_Lean_nullKind;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_36, x_42, x_34);
-x_6 = x_43;
-goto block_30;
-}
-else
-{
-obj* x_44; obj* x_45; obj* x_46;
-x_44 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-x_45 = l_Lean_nullKind;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_34);
-x_6 = x_46;
-goto block_30;
-}
-}
-}
-else
-{
-obj* x_47; obj* x_48;
-lean::dec(x_32);
-lean::dec(x_2);
-x_47 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_31, x_47, x_5);
-return x_48;
-}
-}
-block_72:
-{
-obj* x_51;
-x_51 = lean::cnstr_get(x_50, 3);
-lean::inc(x_51);
-if (lean::obj_tag(x_51) == 0)
-{
-obj* x_52; obj* x_53;
-lean::inc(x_2);
-x_52 = l_Lean_Parser_identFn___rarg(x_2, x_50);
-x_53 = lean::cnstr_get(x_52, 3);
-lean::inc(x_53);
-if (lean::obj_tag(x_53) == 0)
-{
-obj* x_54; obj* x_55; obj* x_56; obj* x_57; obj* x_58;
-x_54 = lean::cnstr_get(x_52, 0);
-lean::inc(x_54);
-x_55 = lean::array_get_size(x_54);
-lean::dec(x_54);
-x_56 = lean::cnstr_get(x_52, 1);
-lean::inc(x_56);
-lean::inc(x_2);
-x_57 = l_Lean_Parser_Command_openOnly___elambda__1(x_1, x_2, x_52);
-x_58 = lean::cnstr_get(x_57, 3);
-lean::inc(x_58);
-if (lean::obj_tag(x_58) == 0)
-{
-obj* x_59; obj* x_60;
-lean::dec(x_56);
-x_59 = l_Lean_nullKind;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_57, x_59, x_55);
-x_31 = x_60;
-goto block_49;
-}
-else
-{
-obj* x_61; uint8 x_62;
-lean::dec(x_58);
-x_61 = lean::cnstr_get(x_57, 1);
-lean::inc(x_61);
-x_62 = lean::nat_dec_eq(x_61, x_56);
-lean::dec(x_61);
-if (x_62 == 0)
-{
-obj* x_63; obj* x_64;
-lean::dec(x_56);
-x_63 = l_Lean_nullKind;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_57, x_63, x_55);
-x_31 = x_64;
-goto block_49;
-}
-else
-{
-obj* x_65; obj* x_66; obj* x_67;
-x_65 = l_Lean_Parser_ParserState_restore(x_57, x_55, x_56);
-x_66 = l_Lean_nullKind;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_55);
-x_31 = x_67;
-goto block_49;
-}
-}
-}
-else
-{
-obj* x_68; obj* x_69;
-lean::dec(x_53);
-lean::dec(x_2);
-x_68 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_52, x_68, x_5);
-return x_69;
-}
-}
-else
-{
-obj* x_70; obj* x_71;
-lean::dec(x_51);
-lean::dec(x_2);
-x_70 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_50, x_70, x_5);
-return x_71;
+x_57 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_58 = l_Lean_Parser_ParserState_mkNode(x_6, x_57, x_5);
+return x_58;
}
}
}
@@ -19173,41 +19314,46 @@ return x_3;
obj* _init_l_Lean_Parser_Command_open___closed__2() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
+obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5;
x_1 = l_Lean_Parser_Command_openOnly;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_Lean_Parser_optionaInfo(x_2);
-return x_3;
+x_3 = l_Lean_Parser_Command_openSimple;
+x_4 = lean::cnstr_get(x_3, 0);
+lean::inc(x_4);
+x_5 = l_Lean_Parser_orelseInfo(x_2, x_4);
+return x_5;
}
}
obj* _init_l_Lean_Parser_Command_open___closed__3() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
+obj* x_1; obj* x_2; obj* x_3; obj* x_4;
x_1 = l_Lean_Parser_Command_openRenaming;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_Lean_Parser_optionaInfo(x_2);
-return x_3;
+x_3 = l_Lean_Parser_Command_open___closed__2;
+x_4 = l_Lean_Parser_orelseInfo(x_2, x_3);
+return x_4;
}
}
obj* _init_l_Lean_Parser_Command_open___closed__4() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
+obj* x_1; obj* x_2; obj* x_3; obj* x_4;
x_1 = l_Lean_Parser_Command_openHiding;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_Lean_Parser_optionaInfo(x_2);
-return x_3;
+x_3 = l_Lean_Parser_Command_open___closed__3;
+x_4 = l_Lean_Parser_orelseInfo(x_2, x_3);
+return x_4;
}
}
obj* _init_l_Lean_Parser_Command_open___closed__5() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_open___closed__3;
+x_1 = l_Lean_Parser_Command_open___closed__1;
x_2 = l_Lean_Parser_Command_open___closed__4;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -19216,43 +19362,13 @@ return x_3;
obj* _init_l_Lean_Parser_Command_open___closed__6() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_open___closed__2;
-x_2 = l_Lean_Parser_Command_open___closed__5;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_open___closed__7() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_ident___closed__1;
-x_2 = l_Lean_Parser_Command_open___closed__6;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_open___closed__8() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_open___closed__1;
-x_2 = l_Lean_Parser_Command_open___closed__7;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Command_open___closed__9() {
-_start:
-{
obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Command_open___closed__8;
+x_1 = l_Lean_Parser_Command_open___closed__5;
x_2 = l_Lean_Parser_nodeInfo(x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Command_open___closed__10() {
+obj* _init_l_Lean_Parser_Command_open___closed__7() {
_start:
{
obj* x_1;
@@ -19260,12 +19376,12 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Command_open___e
return x_1;
}
}
-obj* _init_l_Lean_Parser_Command_open___closed__11() {
+obj* _init_l_Lean_Parser_Command_open___closed__8() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Command_open___closed__9;
-x_2 = l_Lean_Parser_Command_open___closed__10;
+x_1 = l_Lean_Parser_Command_open___closed__6;
+x_2 = l_Lean_Parser_Command_open___closed__7;
x_3 = lean::alloc_cnstr(0, 2, 0);
lean::cnstr_set(x_3, 0, x_1);
lean::cnstr_set(x_3, 1, x_2);
@@ -19276,7 +19392,7 @@ obj* _init_l_Lean_Parser_Command_open() {
_start:
{
obj* x_1;
-x_1 = l_Lean_Parser_Command_open___closed__11;
+x_1 = l_Lean_Parser_Command_open___closed__8;
return x_1;
}
}
@@ -21986,7 +22102,7 @@ return x_2;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_notation___elambda__1___spec__1(uint8 x_1, obj* x_2, obj* x_3, obj* x_4) {
_start:
{
-obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9;
+obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_19; obj* x_20;
x_5 = lean::cnstr_get(x_4, 0);
lean::inc(x_5);
x_6 = lean::array_get_size(x_5);
@@ -21994,7 +22110,45 @@ lean::dec(x_5);
x_7 = lean::cnstr_get(x_4, 1);
lean::inc(x_7);
lean::inc(x_3);
-x_8 = l_Lean_Parser_Command_quotedSymbolPrec___elambda__1(x_2, x_3, x_4);
+x_19 = l_Lean_Parser_Command_quotedSymbolPrec___elambda__1(x_2, x_3, x_4);
+x_20 = lean::cnstr_get(x_19, 3);
+lean::inc(x_20);
+if (lean::obj_tag(x_20) == 0)
+{
+x_8 = x_19;
+goto block_18;
+}
+else
+{
+obj* x_21; obj* x_22; uint8 x_23;
+x_21 = lean::cnstr_get(x_20, 0);
+lean::inc(x_21);
+lean::dec(x_20);
+x_22 = lean::cnstr_get(x_19, 1);
+lean::inc(x_22);
+x_23 = lean::nat_dec_eq(x_22, x_7);
+lean::dec(x_22);
+if (x_23 == 0)
+{
+lean::dec(x_21);
+x_8 = x_19;
+goto block_18;
+}
+else
+{
+obj* x_24; obj* x_25; obj* x_26;
+lean::inc(x_7);
+x_24 = l_Lean_Parser_ParserState_restore(x_19, x_6, x_7);
+lean::inc(x_3);
+x_25 = l_Lean_Parser_Command_identPrec___elambda__1___rarg(x_3, x_24);
+x_26 = l_Lean_Parser_mergeOrElseErrors(x_25, x_21, x_7);
+x_8 = x_26;
+goto block_18;
+}
+}
+block_18:
+{
+obj* x_9;
x_9 = lean::cnstr_get(x_8, 3);
lean::inc(x_9);
if (lean::obj_tag(x_9) == 0)
@@ -22022,64 +22176,25 @@ return x_14;
}
else
{
-obj* x_15; obj* x_16; uint8 x_17;
-x_15 = lean::cnstr_get(x_9, 0);
-lean::inc(x_15);
+obj* x_15; uint8 x_16;
lean::dec(x_9);
-x_16 = lean::cnstr_get(x_8, 1);
-lean::inc(x_16);
-x_17 = lean::nat_dec_eq(x_16, x_7);
-lean::dec(x_16);
-if (x_17 == 0)
-{
-obj* x_18;
+lean::dec(x_3);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
lean::dec(x_15);
-lean::dec(x_3);
-x_18 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean::dec(x_6);
-return x_18;
-}
-else
+if (x_16 == 0)
{
-obj* x_19; obj* x_20; obj* x_21; obj* x_22;
-lean::inc(x_7);
-x_19 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean::inc(x_3);
-x_20 = l_Lean_Parser_Command_identPrec___elambda__1___rarg(x_3, x_19);
-x_21 = l_Lean_Parser_mergeOrElseErrors(x_20, x_15, x_7);
-x_22 = lean::cnstr_get(x_21, 3);
-lean::inc(x_22);
-if (lean::obj_tag(x_22) == 0)
-{
-obj* x_23; uint8 x_24;
-lean::dec(x_6);
-x_23 = lean::cnstr_get(x_21, 1);
-lean::inc(x_23);
-x_24 = lean::nat_dec_eq(x_7, x_23);
-lean::dec(x_23);
lean::dec(x_7);
-if (x_24 == 0)
-{
-x_4 = x_21;
-goto _start;
-}
-else
-{
-obj* x_26; obj* x_27;
-lean::dec(x_3);
-x_26 = l_Lean_Parser_manyAux___main___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkUnexpectedError(x_21, x_26);
-return x_27;
-}
-}
-else
-{
-obj* x_28;
-lean::dec(x_22);
-lean::dec(x_3);
-x_28 = l_Lean_Parser_ParserState_restore(x_21, x_6, x_7);
lean::dec(x_6);
-return x_28;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
}
}
}
@@ -23770,6 +23885,33 @@ lean::mark_persistent(l_Lean_Parser_Command_check);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "check"), l_Lean_Parser_Command_check);
w = l___regBuiltinParser_Lean_Parser_Command_check(w);
if (io_result_is_error(w)) return w;
+l_Lean_Parser_Command_exit___elambda__1___rarg___closed__1 = _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__1();
+lean::mark_persistent(l_Lean_Parser_Command_exit___elambda__1___rarg___closed__1);
+l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2 = _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2();
+lean::mark_persistent(l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2);
+l_Lean_Parser_Command_exit___elambda__1___rarg___closed__3 = _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__3();
+lean::mark_persistent(l_Lean_Parser_Command_exit___elambda__1___rarg___closed__3);
+l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4 = _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4();
+lean::mark_persistent(l_Lean_Parser_Command_exit___elambda__1___rarg___closed__4);
+l_Lean_Parser_Command_exit___elambda__1___rarg___closed__5 = _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__5();
+lean::mark_persistent(l_Lean_Parser_Command_exit___elambda__1___rarg___closed__5);
+l_Lean_Parser_Command_exit___elambda__1___rarg___closed__6 = _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__6();
+lean::mark_persistent(l_Lean_Parser_Command_exit___elambda__1___rarg___closed__6);
+l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7 = _init_l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7();
+lean::mark_persistent(l_Lean_Parser_Command_exit___elambda__1___rarg___closed__7);
+l_Lean_Parser_Command_exit___closed__1 = _init_l_Lean_Parser_Command_exit___closed__1();
+lean::mark_persistent(l_Lean_Parser_Command_exit___closed__1);
+l_Lean_Parser_Command_exit___closed__2 = _init_l_Lean_Parser_Command_exit___closed__2();
+lean::mark_persistent(l_Lean_Parser_Command_exit___closed__2);
+l_Lean_Parser_Command_exit___closed__3 = _init_l_Lean_Parser_Command_exit___closed__3();
+lean::mark_persistent(l_Lean_Parser_Command_exit___closed__3);
+l_Lean_Parser_Command_exit___closed__4 = _init_l_Lean_Parser_Command_exit___closed__4();
+lean::mark_persistent(l_Lean_Parser_Command_exit___closed__4);
+l_Lean_Parser_Command_exit = _init_l_Lean_Parser_Command_exit();
+lean::mark_persistent(l_Lean_Parser_Command_exit);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "exit"), l_Lean_Parser_Command_exit);
+w = l___regBuiltinParser_Lean_Parser_Command_exit(w);
+if (io_result_is_error(w)) return w;
l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__1 = _init_l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__1();
lean::mark_persistent(l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__1);
l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__2 = _init_l_Lean_Parser_Command_init__quot___elambda__1___rarg___closed__2();
@@ -23932,25 +24074,6 @@ lean::mark_persistent(l_Lean_Parser_Command_export);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "export"), l_Lean_Parser_Command_export);
w = l___regBuiltinParser_Lean_Parser_Command_export(w);
if (io_result_is_error(w)) return w;
-l_Lean_Parser_Command_openOnly___elambda__1___closed__1 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__1();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__1);
-l_Lean_Parser_Command_openOnly___elambda__1___closed__2 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__2();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__2);
-l_Lean_Parser_Command_openOnly___closed__1 = _init_l_Lean_Parser_Command_openOnly___closed__1();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__1);
-l_Lean_Parser_Command_openOnly___closed__2 = _init_l_Lean_Parser_Command_openOnly___closed__2();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__2);
-l_Lean_Parser_Command_openOnly___closed__3 = _init_l_Lean_Parser_Command_openOnly___closed__3();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__3);
-l_Lean_Parser_Command_openOnly___closed__4 = _init_l_Lean_Parser_Command_openOnly___closed__4();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__4);
-l_Lean_Parser_Command_openOnly___closed__5 = _init_l_Lean_Parser_Command_openOnly___closed__5();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__5);
-l_Lean_Parser_Command_openOnly___closed__6 = _init_l_Lean_Parser_Command_openOnly___closed__6();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__6);
-l_Lean_Parser_Command_openOnly = _init_l_Lean_Parser_Command_openOnly();
-lean::mark_persistent(l_Lean_Parser_Command_openOnly);
-lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "openOnly"), l_Lean_Parser_Command_openOnly);
l_Lean_Parser_Command_openHiding___elambda__1___closed__1 = _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__1();
lean::mark_persistent(l_Lean_Parser_Command_openHiding___elambda__1___closed__1);
l_Lean_Parser_Command_openHiding___elambda__1___closed__2 = _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__2();
@@ -24045,11 +24168,39 @@ l_Lean_Parser_Command_openRenaming___closed__6 = _init_l_Lean_Parser_Command_ope
lean::mark_persistent(l_Lean_Parser_Command_openRenaming___closed__6);
l_Lean_Parser_Command_openRenaming___closed__7 = _init_l_Lean_Parser_Command_openRenaming___closed__7();
lean::mark_persistent(l_Lean_Parser_Command_openRenaming___closed__7);
-l_Lean_Parser_Command_openRenaming___closed__8 = _init_l_Lean_Parser_Command_openRenaming___closed__8();
-lean::mark_persistent(l_Lean_Parser_Command_openRenaming___closed__8);
l_Lean_Parser_Command_openRenaming = _init_l_Lean_Parser_Command_openRenaming();
lean::mark_persistent(l_Lean_Parser_Command_openRenaming);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "openRenaming"), l_Lean_Parser_Command_openRenaming);
+l_Lean_Parser_Command_openOnly___elambda__1___closed__1 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__1();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__1);
+l_Lean_Parser_Command_openOnly___elambda__1___closed__2 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__2();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__2);
+l_Lean_Parser_Command_openOnly___closed__1 = _init_l_Lean_Parser_Command_openOnly___closed__1();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__1);
+l_Lean_Parser_Command_openOnly___closed__2 = _init_l_Lean_Parser_Command_openOnly___closed__2();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__2);
+l_Lean_Parser_Command_openOnly___closed__3 = _init_l_Lean_Parser_Command_openOnly___closed__3();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__3);
+l_Lean_Parser_Command_openOnly___closed__4 = _init_l_Lean_Parser_Command_openOnly___closed__4();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__4);
+l_Lean_Parser_Command_openOnly___closed__5 = _init_l_Lean_Parser_Command_openOnly___closed__5();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly___closed__5);
+l_Lean_Parser_Command_openOnly = _init_l_Lean_Parser_Command_openOnly();
+lean::mark_persistent(l_Lean_Parser_Command_openOnly);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "openOnly"), l_Lean_Parser_Command_openOnly);
+l_Lean_Parser_Command_openSimple___elambda__1___closed__1 = _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__1();
+lean::mark_persistent(l_Lean_Parser_Command_openSimple___elambda__1___closed__1);
+l_Lean_Parser_Command_openSimple___elambda__1___closed__2 = _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__2();
+lean::mark_persistent(l_Lean_Parser_Command_openSimple___elambda__1___closed__2);
+l_Lean_Parser_Command_openSimple___closed__1 = _init_l_Lean_Parser_Command_openSimple___closed__1();
+lean::mark_persistent(l_Lean_Parser_Command_openSimple___closed__1);
+l_Lean_Parser_Command_openSimple___closed__2 = _init_l_Lean_Parser_Command_openSimple___closed__2();
+lean::mark_persistent(l_Lean_Parser_Command_openSimple___closed__2);
+l_Lean_Parser_Command_openSimple___closed__3 = _init_l_Lean_Parser_Command_openSimple___closed__3();
+lean::mark_persistent(l_Lean_Parser_Command_openSimple___closed__3);
+l_Lean_Parser_Command_openSimple = _init_l_Lean_Parser_Command_openSimple();
+lean::mark_persistent(l_Lean_Parser_Command_openSimple);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "openSimple"), l_Lean_Parser_Command_openSimple);
l_Lean_Parser_Command_open___elambda__1___closed__1 = _init_l_Lean_Parser_Command_open___elambda__1___closed__1();
lean::mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__1);
l_Lean_Parser_Command_open___elambda__1___closed__2 = _init_l_Lean_Parser_Command_open___elambda__1___closed__2();
@@ -24080,12 +24231,6 @@ l_Lean_Parser_Command_open___closed__7 = _init_l_Lean_Parser_Command_open___clos
lean::mark_persistent(l_Lean_Parser_Command_open___closed__7);
l_Lean_Parser_Command_open___closed__8 = _init_l_Lean_Parser_Command_open___closed__8();
lean::mark_persistent(l_Lean_Parser_Command_open___closed__8);
-l_Lean_Parser_Command_open___closed__9 = _init_l_Lean_Parser_Command_open___closed__9();
-lean::mark_persistent(l_Lean_Parser_Command_open___closed__9);
-l_Lean_Parser_Command_open___closed__10 = _init_l_Lean_Parser_Command_open___closed__10();
-lean::mark_persistent(l_Lean_Parser_Command_open___closed__10);
-l_Lean_Parser_Command_open___closed__11 = _init_l_Lean_Parser_Command_open___closed__11();
-lean::mark_persistent(l_Lean_Parser_Command_open___closed__11);
l_Lean_Parser_Command_open = _init_l_Lean_Parser_Command_open();
lean::mark_persistent(l_Lean_Parser_Command_open);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Command"), "open"), l_Lean_Parser_Command_open);
diff --git a/src/stage0/init/lean/parser/level.cpp b/src/stage0/init/lean/parser/level.cpp
index cffe0363d7..bb6a5dbe72 100644
--- a/src/stage0/init/lean/parser/level.cpp
+++ b/src/stage0/init/lean/parser/level.cpp
@@ -762,12 +762,26 @@ return x_16;
}
else
{
-obj* x_17;
+obj* x_17; uint8 x_18;
lean::dec(x_11);
lean::dec(x_3);
-x_17 = l_Lean_Parser_ParserState_restore(x_10, x_6, x_7);
+x_17 = lean::cnstr_get(x_10, 1);
+lean::inc(x_17);
+x_18 = lean::nat_dec_eq(x_7, x_17);
+lean::dec(x_17);
+if (x_18 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_17;
+return x_10;
+}
+else
+{
+obj* x_19;
+x_19 = l_Lean_Parser_ParserState_restore(x_10, x_6, x_7);
+lean::dec(x_6);
+return x_19;
+}
}
}
}
diff --git a/src/stage0/init/lean/parser/module.cpp b/src/stage0/init/lean/parser/module.cpp
index af9a8c230f..163795b797 100644
--- a/src/stage0/init/lean/parser/module.cpp
+++ b/src/stage0/init/lean/parser/module.cpp
@@ -30,16 +30,17 @@ obj* l_Lean_Parser_symbolInfo(obj*, obj*);
obj* l_Lean_Parser_Module_prelude___elambda__1___rarg___closed__2;
obj* l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(obj*);
namespace lean {
-obj* test_module_parser_core(obj*, obj*, obj*, obj*);
+obj* test_module_parser_core(obj*, obj*, obj*, uint8, obj*);
}
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_andthenInfo(obj*, obj*);
extern obj* l_Lean_Parser_declareLeadingBuiltinParser___closed__1;
obj* l_Lean_Parser_ParserAttribute_runParser(obj*, obj*, obj*, obj*);
+uint8 l_Lean_Parser_isExitCommand(obj*);
obj* l_Lean_Parser_Module_importPath___closed__1;
obj* l_Lean_Parser_Module_header;
obj* l_Lean_Parser_mkParserContext(obj*, obj*, obj*);
-obj* l___private_init_lean_parser_module_4__testModuleParserAux(obj*, obj*, obj*);
+obj* l___private_init_lean_parser_module_4__testModuleParserAux(obj*, uint8, obj*, obj*);
obj* l_Lean_Parser_Module_import___closed__2;
obj* l_Lean_Parser_mkModuleParser(obj*, obj*, obj*);
obj* l_Lean_Parser_Module_prelude___elambda__1___rarg___closed__5;
@@ -54,12 +55,15 @@ uint8 l_Lean_Syntax_isOfKind___main(obj*, obj*);
obj* l_Lean_Parser_rawCh(uint8, uint32, uint8);
extern "C" obj* lean_io_prim_put_str(obj*, obj*);
obj* l___private_init_lean_parser_module_2__mkEOI___closed__1;
+obj* l_Lean_Parser_isExitCommand___boxed(obj*);
obj* l_Lean_Parser_Module_importPath___closed__2;
+obj* l___private_init_lean_parser_module_4__testModuleParserAux___boxed(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Module_importPath___closed__6;
obj* l_Lean_Parser_mkParserState(obj*);
obj* l_Array_mkEmpty(obj*, obj*);
obj* l_Lean_Parser_Module_header___elambda__1___closed__2;
obj* l_Lean_Parser_Module_header___closed__2;
+obj* l_Lean_Parser_testModuleParser___closed__1;
obj* l___private_init_lean_parser_module_3__consumeInput(obj*, obj*);
obj* l_Lean_Parser_ParserState_mkNode(obj*, obj*, obj*);
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_import___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*);
@@ -116,6 +120,7 @@ obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_import___elambda__1___
obj* l_Lean_Parser_parseCommand___main(obj*, obj*);
uint8 l_Lean_Parser_isEOI(obj*);
obj* l_Lean_Parser_optionaInfo(obj*);
+obj* l_Lean_Parser_testModuleParser___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Module_import___elambda__1___closed__2;
obj* l_Lean_Parser_Module_header___closed__3;
obj* l_Lean_Parser_Module_header___closed__5;
@@ -141,7 +146,9 @@ obj* l_Lean_Parser_Module_prelude___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Module_import___elambda__1___closed__1;
obj* l_Lean_Parser_Module_import___elambda__1___closed__7;
uint8 l_List_foldr___main___at_Lean_MessageLog_hasErrors___spec__1(uint8, obj*);
+extern "C" obj* lean_io_timeit(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Module_import___closed__4;
+extern obj* l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Module_header___closed__4;
extern obj* l_Lean_Parser_commandParserAttribute;
extern obj* l_IO_println___rarg___closed__1;
@@ -404,11 +411,25 @@ return x_16;
}
else
{
-obj* x_17;
+obj* x_17; uint8 x_18;
lean::dec(x_11);
-x_17 = l_Lean_Parser_ParserState_restore(x_10, x_7, x_8);
+x_17 = lean::cnstr_get(x_10, 1);
+lean::inc(x_17);
+x_18 = lean::nat_dec_eq(x_8, x_17);
+lean::dec(x_17);
+if (x_18 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_17;
+return x_10;
+}
+else
+{
+obj* x_19;
+x_19 = l_Lean_Parser_ParserState_restore(x_10, x_7, x_8);
+lean::dec(x_7);
+return x_19;
+}
}
}
}
@@ -593,12 +614,26 @@ return x_14;
}
else
{
-obj* x_15;
+obj* x_15; uint8 x_16;
lean::dec(x_9);
lean::dec(x_3);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
+lean::dec(x_15);
+if (x_16 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_15;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
+}
}
}
}
@@ -902,12 +937,26 @@ return x_14;
}
else
{
-obj* x_15;
+obj* x_15; uint8 x_16;
lean::dec(x_9);
lean::dec(x_3);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
+lean::dec(x_15);
+if (x_16 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_15;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
+}
}
}
}
@@ -1504,6 +1553,25 @@ x_3 = lean::box(x_2);
return x_3;
}
}
+uint8 l_Lean_Parser_isExitCommand(obj* x_1) {
+_start:
+{
+obj* x_2; uint8 x_3;
+x_2 = l_Lean_Parser_Command_exit___elambda__1___rarg___closed__2;
+x_3 = l_Lean_Syntax_isOfKind___main(x_1, x_2);
+return x_3;
+}
+}
+obj* l_Lean_Parser_isExitCommand___boxed(obj* x_1) {
+_start:
+{
+uint8 x_2; obj* x_3;
+x_2 = l_Lean_Parser_isExitCommand(x_1);
+lean::dec(x_1);
+x_3 = lean::box(x_2);
+return x_3;
+}
+}
obj* l___private_init_lean_parser_module_3__consumeInput(obj* x_1, obj* x_2) {
_start:
{
@@ -1959,129 +2027,264 @@ x_6 = lean::cnstr_get(x_4, 1);
lean::inc(x_6);
lean::dec(x_4);
x_7 = l_Lean_Parser_isEOI(x_5);
-lean::dec(x_5);
if (x_7 == 0)
{
+uint8 x_8;
+x_8 = l_Lean_Parser_isExitCommand(x_5);
+lean::dec(x_5);
+if (x_8 == 0)
+{
x_2 = x_6;
goto _start;
}
else
{
-obj* x_9; obj* x_10; obj* x_11;
+obj* x_10; obj* x_11; obj* x_12;
lean::dec(x_1);
-x_9 = lean::cnstr_get(x_6, 2);
-lean::inc(x_9);
+x_10 = lean::cnstr_get(x_6, 2);
+lean::inc(x_10);
lean::dec(x_6);
-lean::inc(x_9);
-x_10 = l_List_reverse___rarg(x_9);
-x_11 = l_List_mfor___main___at___private_init_lean_parser_module_4__testModuleParserAux___main___spec__3(x_10, x_3);
-if (lean::obj_tag(x_11) == 0)
+lean::inc(x_10);
+x_11 = l_List_reverse___rarg(x_10);
+x_12 = l_List_mfor___main___at___private_init_lean_parser_module_4__testModuleParserAux___main___spec__3(x_11, x_3);
+if (lean::obj_tag(x_12) == 0)
{
-uint8 x_12;
-x_12 = !lean::is_exclusive(x_11);
-if (x_12 == 0)
+uint8 x_13;
+x_13 = !lean::is_exclusive(x_12);
+if (x_13 == 0)
{
-obj* x_13; uint8 x_14; uint8 x_15;
-x_13 = lean::cnstr_get(x_11, 0);
-lean::dec(x_13);
-x_14 = 0;
-x_15 = l_List_foldr___main___at_Lean_MessageLog_hasErrors___spec__1(x_14, x_9);
-lean::dec(x_9);
-if (x_15 == 0)
+obj* x_14; uint8 x_15; uint8 x_16;
+x_14 = lean::cnstr_get(x_12, 0);
+lean::dec(x_14);
+x_15 = 0;
+x_16 = l_List_foldr___main___at_Lean_MessageLog_hasErrors___spec__1(x_15, x_10);
+lean::dec(x_10);
+if (x_16 == 0)
{
-uint8 x_16; obj* x_17;
-x_16 = 1;
-x_17 = lean::box(x_16);
-lean::cnstr_set(x_11, 0, x_17);
-return x_11;
+uint8 x_17; obj* x_18;
+x_17 = 1;
+x_18 = lean::box(x_17);
+lean::cnstr_set(x_12, 0, x_18);
+return x_12;
}
else
{
-obj* x_18;
-x_18 = lean::box(x_14);
-lean::cnstr_set(x_11, 0, x_18);
-return x_11;
+obj* x_19;
+x_19 = lean::box(x_15);
+lean::cnstr_set(x_12, 0, x_19);
+return x_12;
}
}
else
{
-obj* x_19; uint8 x_20; uint8 x_21;
-x_19 = lean::cnstr_get(x_11, 1);
-lean::inc(x_19);
-lean::dec(x_11);
-x_20 = 0;
-x_21 = l_List_foldr___main___at_Lean_MessageLog_hasErrors___spec__1(x_20, x_9);
-lean::dec(x_9);
-if (x_21 == 0)
+obj* x_20; uint8 x_21; uint8 x_22;
+x_20 = lean::cnstr_get(x_12, 1);
+lean::inc(x_20);
+lean::dec(x_12);
+x_21 = 0;
+x_22 = l_List_foldr___main___at_Lean_MessageLog_hasErrors___spec__1(x_21, x_10);
+lean::dec(x_10);
+if (x_22 == 0)
{
-uint8 x_22; obj* x_23; obj* x_24;
-x_22 = 1;
-x_23 = lean::box(x_22);
-x_24 = lean::alloc_cnstr(0, 2, 0);
-lean::cnstr_set(x_24, 0, x_23);
-lean::cnstr_set(x_24, 1, x_19);
-return x_24;
+uint8 x_23; obj* x_24; obj* x_25;
+x_23 = 1;
+x_24 = lean::box(x_23);
+x_25 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_25, 0, x_24);
+lean::cnstr_set(x_25, 1, x_20);
+return x_25;
}
else
{
-obj* x_25; obj* x_26;
-x_25 = lean::box(x_20);
-x_26 = lean::alloc_cnstr(0, 2, 0);
-lean::cnstr_set(x_26, 0, x_25);
-lean::cnstr_set(x_26, 1, x_19);
-return x_26;
+obj* x_26; obj* x_27;
+x_26 = lean::box(x_21);
+x_27 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_27, 0, x_26);
+lean::cnstr_set(x_27, 1, x_20);
+return x_27;
}
}
}
else
{
-uint8 x_27;
-lean::dec(x_9);
-x_27 = !lean::is_exclusive(x_11);
-if (x_27 == 0)
+uint8 x_28;
+lean::dec(x_10);
+x_28 = !lean::is_exclusive(x_12);
+if (x_28 == 0)
{
-return x_11;
+return x_12;
}
else
{
-obj* x_28; obj* x_29; obj* x_30;
-x_28 = lean::cnstr_get(x_11, 0);
-x_29 = lean::cnstr_get(x_11, 1);
+obj* x_29; obj* x_30; obj* x_31;
+x_29 = lean::cnstr_get(x_12, 0);
+x_30 = lean::cnstr_get(x_12, 1);
+lean::inc(x_30);
lean::inc(x_29);
-lean::inc(x_28);
-lean::dec(x_11);
-x_30 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_30, 0, x_28);
-lean::cnstr_set(x_30, 1, x_29);
-return x_30;
+lean::dec(x_12);
+x_31 = lean::alloc_cnstr(1, 2, 0);
+lean::cnstr_set(x_31, 0, x_29);
+lean::cnstr_set(x_31, 1, x_30);
+return x_31;
+}
+}
+}
+}
+else
+{
+obj* x_32; obj* x_33; obj* x_34;
+lean::dec(x_5);
+lean::dec(x_1);
+x_32 = lean::cnstr_get(x_6, 2);
+lean::inc(x_32);
+lean::dec(x_6);
+lean::inc(x_32);
+x_33 = l_List_reverse___rarg(x_32);
+x_34 = l_List_mfor___main___at___private_init_lean_parser_module_4__testModuleParserAux___main___spec__3(x_33, x_3);
+if (lean::obj_tag(x_34) == 0)
+{
+uint8 x_35;
+x_35 = !lean::is_exclusive(x_34);
+if (x_35 == 0)
+{
+obj* x_36; uint8 x_37; uint8 x_38;
+x_36 = lean::cnstr_get(x_34, 0);
+lean::dec(x_36);
+x_37 = 0;
+x_38 = l_List_foldr___main___at_Lean_MessageLog_hasErrors___spec__1(x_37, x_32);
+lean::dec(x_32);
+if (x_38 == 0)
+{
+uint8 x_39; obj* x_40;
+x_39 = 1;
+x_40 = lean::box(x_39);
+lean::cnstr_set(x_34, 0, x_40);
+return x_34;
+}
+else
+{
+obj* x_41;
+x_41 = lean::box(x_37);
+lean::cnstr_set(x_34, 0, x_41);
+return x_34;
+}
+}
+else
+{
+obj* x_42; uint8 x_43; uint8 x_44;
+x_42 = lean::cnstr_get(x_34, 1);
+lean::inc(x_42);
+lean::dec(x_34);
+x_43 = 0;
+x_44 = l_List_foldr___main___at_Lean_MessageLog_hasErrors___spec__1(x_43, x_32);
+lean::dec(x_32);
+if (x_44 == 0)
+{
+uint8 x_45; obj* x_46; obj* x_47;
+x_45 = 1;
+x_46 = lean::box(x_45);
+x_47 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_47, 0, x_46);
+lean::cnstr_set(x_47, 1, x_42);
+return x_47;
+}
+else
+{
+obj* x_48; obj* x_49;
+x_48 = lean::box(x_43);
+x_49 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_49, 0, x_48);
+lean::cnstr_set(x_49, 1, x_42);
+return x_49;
+}
+}
+}
+else
+{
+uint8 x_50;
+lean::dec(x_32);
+x_50 = !lean::is_exclusive(x_34);
+if (x_50 == 0)
+{
+return x_34;
+}
+else
+{
+obj* x_51; obj* x_52; obj* x_53;
+x_51 = lean::cnstr_get(x_34, 0);
+x_52 = lean::cnstr_get(x_34, 1);
+lean::inc(x_52);
+lean::inc(x_51);
+lean::dec(x_34);
+x_53 = lean::alloc_cnstr(1, 2, 0);
+lean::cnstr_set(x_53, 0, x_51);
+lean::cnstr_set(x_53, 1, x_52);
+return x_53;
}
}
}
}
}
-obj* l___private_init_lean_parser_module_4__testModuleParserAux(obj* x_1, obj* x_2, obj* x_3) {
+obj* l___private_init_lean_parser_module_4__testModuleParserAux(obj* x_1, uint8 x_2, obj* x_3, obj* x_4) {
_start:
{
-obj* x_4;
-x_4 = l___private_init_lean_parser_module_4__testModuleParserAux___main(x_1, x_2, x_3);
-return x_4;
+obj* x_5;
+x_5 = l___private_init_lean_parser_module_4__testModuleParserAux___main(x_1, x_3, x_4);
+return x_5;
+}
+}
+obj* l___private_init_lean_parser_module_4__testModuleParserAux___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
+_start:
+{
+uint8 x_5; obj* x_6;
+x_5 = lean::unbox(x_2);
+lean::dec(x_2);
+x_6 = l___private_init_lean_parser_module_4__testModuleParserAux(x_1, x_5, x_3, x_4);
+return x_6;
+}
+}
+obj* _init_l_Lean_Parser_testModuleParser___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string(" parser");
+return x_1;
}
}
namespace lean {
-obj* test_module_parser_core(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
+obj* test_module_parser_core(obj* x_1, obj* x_2, obj* x_3, uint8 x_4, obj* x_5) {
_start:
{
-obj* x_5; obj* x_6; obj* x_7;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12;
+x_6 = l_Lean_Parser_testModuleParser___closed__1;
+lean::inc(x_3);
+x_7 = lean::string_append(x_3, x_6);
lean::inc(x_1);
-x_5 = l_Lean_Parser_mkModuleParser(x_1, x_2, x_3);
-x_6 = lean::cnstr_get(x_5, 1);
-lean::inc(x_6);
-lean::dec(x_5);
-x_7 = l___private_init_lean_parser_module_4__testModuleParserAux___main(x_1, x_6, x_4);
-return x_7;
+x_8 = l_Lean_Parser_mkModuleParser(x_1, x_2, x_3);
+x_9 = lean::cnstr_get(x_8, 1);
+lean::inc(x_9);
+lean::dec(x_8);
+x_10 = lean::box(x_4);
+x_11 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_4__testModuleParserAux___boxed), 4, 3);
+lean::closure_set(x_11, 0, x_1);
+lean::closure_set(x_11, 1, x_10);
+lean::closure_set(x_11, 2, x_9);
+x_12 = lean_io_timeit(lean::box(0), x_7, x_11, x_5);
+lean::dec(x_7);
+return x_12;
}
}
}
+obj* l_Lean_Parser_testModuleParser___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+uint8 x_6; obj* x_7;
+x_6 = lean::unbox(x_4);
+lean::dec(x_4);
+x_7 = lean::test_module_parser_core(x_1, x_2, x_3, x_6, x_5);
+return x_7;
+}
+}
obj* initialize_init_lean_message(obj*);
obj* initialize_init_lean_parser_command(obj*);
static bool _G_initialized = false;
@@ -2199,7 +2402,10 @@ lean::mark_persistent(l___private_init_lean_parser_module_2__mkEOI___closed__2);
l___private_init_lean_parser_module_2__mkEOI___closed__3 = _init_l___private_init_lean_parser_module_2__mkEOI___closed__3();
lean::mark_persistent(l___private_init_lean_parser_module_2__mkEOI___closed__3);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "isEOI"), 1, l_Lean_Parser_isEOI___boxed);
+REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "isExitCommand"), 1, l_Lean_Parser_isExitCommand___boxed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "parseCommand"), 2, l_Lean_Parser_parseCommand);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "testModuleParser"), 4, lean::test_module_parser_core);
+l_Lean_Parser_testModuleParser___closed__1 = _init_l_Lean_Parser_testModuleParser___closed__1();
+lean::mark_persistent(l_Lean_Parser_testModuleParser___closed__1);
+REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "testModuleParser"), 5, l_Lean_Parser_testModuleParser___boxed);
return w;
}
diff --git a/src/stage0/init/lean/parser/parser.cpp b/src/stage0/init/lean/parser/parser.cpp
index ce91cdeb2a..93c68a760e 100644
--- a/src/stage0/init/lean/parser/parser.cpp
+++ b/src/stage0/init/lean/parser/parser.cpp
@@ -222,7 +222,6 @@ extern obj* l_Lean_Options_empty;
obj* l_Lean_Parser_longestMatchFn(uint8, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_symbolFn___boxed(obj*);
obj* l_Lean_Parser_takeWhileFn___at_Lean_Parser_octalNumberFn___spec__2___boxed(obj*, obj*);
-obj* l_Lean_Parser_Error_toString___closed__5;
obj* l_Lean_Parser_ParserAttribute_inhabited___lambda__2___boxed(obj*);
obj* l_Lean_Parser_currLbp(obj*, obj*, obj*);
obj* l_Lean_Parser_strLitFnAux___main___boxed(obj*, obj*, obj*);
@@ -240,6 +239,7 @@ obj* l_Lean_Parser_charLit___closed__1;
obj* l_Lean_Parser_mkParserState(obj*);
obj* l_Lean_Parser_nodeFn___boxed(obj*);
obj* l_Lean_Parser_registerParserAttribute(obj*, obj*, obj*, obj*, obj*);
+obj* l_Lean_Parser_checkNoWsBefore(uint8, obj*);
obj* l_Lean_Parser_ParserAttribute_inhabited___lambda__1___boxed(obj*);
obj* l_Lean_Parser_hexNumberFn___closed__1;
obj* l_Lean_Parser_addBuiltinTrailingParser___boxed(obj*, obj*, obj*, obj*);
@@ -294,9 +294,11 @@ obj* l_Lean_Parser_declareBuiltinParser___closed__5;
obj* l_Lean_Parser_TokenMap_Inhabited(obj*);
obj* l_Nat_repr(obj*);
obj* l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1___boxed(obj*);
+obj* l_Lean_Parser_checkNoWsBeforeFn(obj*, obj*, obj*);
obj* l_Lean_Parser_mkNodeToken(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_node(uint8, obj*, obj*);
obj* l_Lean_Parser_rawFn___main(uint8);
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1(uint8);
obj* l___private_init_lean_parser_parser_2__sepByFnAux___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_getBuiltinTokenTableUnsafe(obj*);
obj* l_Lean_Parser_andthen___boxed(obj*, obj*, obj*);
@@ -321,6 +323,7 @@ obj* l_Lean_PersistentEnvExtension_getState___rarg(obj*, obj*);
obj* l_Lean_Parser_fieldIdx___lambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_many1Indent___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_charLitFn(uint8, obj*);
+obj* l_Lean_Parser_checkNoWsBefore___boxed(obj*, obj*);
obj* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3(obj*, obj*);
obj* l_Lean_Parser_declareLeadingBuiltinParser___closed__3;
obj* l_Lean_Parser_symbolInfo___elambda__1(obj*, obj*, obj*);
@@ -381,6 +384,7 @@ obj* l_Lean_Parser_orelseFn___main___rarg(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_satisfyFn___main___at_Lean_Parser_rawCh___elambda__1___spec__1(uint32, obj*, obj*, obj*);
obj* l_Lean_Parser_strLitFnAux___main(obj*, obj*, obj*);
obj* l_Lean_Parser_quotedSymbol___boxed(obj*);
+obj* l_Lean_Parser_checkNoWsBeforeFn___boxed(obj*, obj*, obj*);
uint8 l_Lean_Parser_isIdCont(obj*, obj*);
extern obj* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__1;
uint8 l_Lean_Syntax_isIdent___main(obj*);
@@ -392,7 +396,6 @@ obj* l_RBNode_ins___main___at_Lean_Parser_TokenMap_insert___spec__7___rarg(obj*,
obj* l_Lean_AttributeImpl_inhabited___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*);
extern obj* l_Lean_registerTagAttribute___lambda__5___closed__4;
obj* l_Lean_Parser_registerBuiltinParserAttribute___lambda__1___closed__8;
-obj* l_Lean_Parser_trailingLoop___rarg(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_ParserFn_inhabited___rarg___boxed(obj*);
uint8 l_Lean_Syntax_isMissing___main(obj*);
obj* l_Lean_Parser_symbolOrIdentInfo___closed__2;
@@ -480,7 +483,7 @@ obj* l_Lean_Parser_satisfyFn___main___at_Lean_Parser_binNumberFn___spec__1(obj*,
obj* l_Lean_Parser_insertToken___closed__5;
obj* l_Lean_Parser_registerBuiltinParserAttribute___lambda__1___closed__2;
obj* l_Lean_Parser_many1(uint8, obj*);
-obj* l_Lean_Parser_trailingLoop___boxed(obj*);
+obj* l_Lean_Parser_trailingLoop___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_insertToken___closed__2;
namespace lean {
uint32 string_utf8_get(obj*, obj*);
@@ -489,7 +492,6 @@ obj* l_Lean_Parser_longestMatchFn___boxed(obj*, obj*, obj*, obj*, obj*);
uint8 l_Lean_Parser_checkTailWs(obj*);
obj* l_Lean_Parser_TokenTableAttribute_inhabited___closed__1;
obj* l_Lean_Parser_unicodeSymbolCheckPrecFnAux(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*);
-obj* l_Lean_Parser_trailingLoop___rarg___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_symbolNoWsInfo___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_strAux___main(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_getBuiltinTokenTable(obj*);
@@ -587,6 +589,7 @@ obj* l_Lean_Parser_symbolNoWsFnAux(obj*, obj*, obj*, obj*, obj*);
obj* l_RBNode_insert___at_Lean_Parser_TokenMap_insert___spec__2(obj*);
obj* l_Lean_Parser_ParserContextCore_inhabited___closed__1;
obj* l_Lean_Parser_satisfyFn___main___at_Lean_Parser_octalNumberFn___spec__1___boxed(obj*, obj*, obj*);
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1___rarg(obj*, obj*, obj*, obj*);
obj* l_Array_pop(obj*, obj*);
uint8 l_Lean_Name_quickLt(obj*, obj*);
obj* l_Lean_Parser_symbolNoWsInfo(obj*, obj*);
@@ -609,6 +612,7 @@ obj* environment_find_core(obj*, obj*);
obj* l_Lean_Parser_runBuiltinParserUnsafe___closed__2;
extern obj* l_Lean_AttributeImpl_inhabited___closed__6;
obj* l_Lean_Parser_unicodeSymbolCheckPrecFn(obj*, obj*, obj*, obj*, obj*, obj*);
+obj* l_Lean_Parser_trailingLoopStep(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2(obj*, obj*);
obj* l_Lean_Parser_TokenConfig_HasToString;
obj* l_Lean_Parser_ParserState_mkEOIError(obj*);
@@ -624,6 +628,7 @@ obj* l_Lean_Parser_quotedSymbolFn___rarg___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_ParserState_mkError(obj*, obj*);
obj* l_RBNode_ins___main___at_Lean_Parser_TokenMap_insert___spec__7(obj*);
obj* l_Lean_Parser_quotedCharFn___main(obj*, obj*);
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1___boxed(obj*);
obj* l_RBNode_insert___at_Lean_Parser_TokenMap_insert___spec__5___rarg(obj*, obj*, obj*);
obj* l_Lean_Parser_nodeInfo(obj*);
obj* l_Lean_Parser_declareLeadingBuiltinParser___boxed(obj*, obj*, obj*, obj*);
@@ -744,6 +749,7 @@ obj* l_Lean_Parser_TokenMap_HasEmptyc(obj*);
obj* l_Lean_Parser_longestMatchFnAux___main___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_pushLeading;
obj* l_Lean_Parser_declareBuiltinParser___closed__4;
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1___rarg___boxed(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_tryFn(uint8);
obj* l___private_init_lean_parser_parser_5__tokenFnAux(obj*, obj*);
obj* l_Lean_Parser_epsilonInfo;
@@ -818,7 +824,7 @@ obj* l_Lean_Parser_declareBuiltinParser___closed__6;
obj* l_Lean_Parser_fieldIdx___closed__1;
obj* l_Lean_Parser_hashAndthen___boxed(obj*);
obj* l___private_init_lean_parser_parser_3__rawAux___main___rarg(obj*, uint8, obj*, obj*, obj*);
-obj* l_Lean_Parser_trailingLoop(obj*);
+obj* l_Lean_Parser_trailingLoop(obj*, obj*, obj*, obj*, obj*);
extern obj* l_Lean_fieldIdxKind;
obj* l_Lean_Parser_ParserState_mkLongestNodeAlt(obj*, obj*);
obj* l_Lean_Parser_anyOfFn(uint8, obj*, obj*, obj*, obj*);
@@ -1329,7 +1335,7 @@ obj* _init_l_Lean_Parser_Error_toString___closed__1() {
_start:
{
obj* x_1;
-x_1 = lean::mk_string("unexpected ");
+x_1 = lean::mk_string("expected ");
return x_1;
}
}
@@ -1337,33 +1343,25 @@ obj* _init_l_Lean_Parser_Error_toString___closed__2() {
_start:
{
obj* x_1;
-x_1 = lean::mk_string("expected ");
+x_1 = lean::mk_string("; ");
return x_1;
}
}
obj* _init_l_Lean_Parser_Error_toString___closed__3() {
_start:
{
-obj* x_1;
-x_1 = lean::mk_string(";");
-return x_1;
-}
-}
-obj* _init_l_Lean_Parser_Error_toString___closed__4() {
-_start:
-{
obj* x_1; obj* x_2;
x_1 = lean::box(0);
x_2 = l_List_append___rarg(x_1, x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Error_toString___closed__5() {
+obj* _init_l_Lean_Parser_Error_toString___closed__4() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Error_toString___closed__3;
-x_2 = l_Lean_Parser_Error_toString___closed__4;
+x_1 = l_Lean_Parser_Error_toString___closed__2;
+x_2 = l_Lean_Parser_Error_toString___closed__3;
x_3 = l_String_intercalate(x_1, x_2);
return x_3;
}
@@ -1371,48 +1369,45 @@ return x_3;
obj* l_Lean_Parser_Error_toString(obj* x_1) {
_start:
{
-obj* x_2; obj* x_3; uint8 x_4; obj* x_5; obj* x_6; uint8 x_7;
+obj* x_2; obj* x_3; obj* x_4; uint8 x_5; obj* x_6; uint8 x_7;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_String_splitAux___main___closed__1;
-x_4 = lean::string_dec_eq(x_2, x_3);
-x_5 = lean::cnstr_get(x_1, 1);
-lean::inc(x_5);
+x_3 = lean::cnstr_get(x_1, 1);
+lean::inc(x_3);
lean::dec(x_1);
+x_4 = l_String_splitAux___main___closed__1;
+x_5 = lean::string_dec_eq(x_2, x_4);
x_6 = lean::box(0);
-x_7 = l_List_hasDecEq___main___at_Lean_Parser_Error_toString___spec__1(x_5, x_6);
-if (x_4 == 0)
+x_7 = l_List_hasDecEq___main___at_Lean_Parser_Error_toString___spec__1(x_3, x_6);
+if (x_5 == 0)
{
-obj* x_8; obj* x_9; obj* x_10;
-x_8 = l_Lean_Parser_Error_toString___closed__1;
-x_9 = lean::string_append(x_8, x_2);
-lean::dec(x_2);
-x_10 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_10, 0, x_9);
-lean::cnstr_set(x_10, 1, x_6);
+obj* x_8;
+x_8 = lean::alloc_cnstr(1, 2, 0);
+lean::cnstr_set(x_8, 0, x_2);
+lean::cnstr_set(x_8, 1, x_6);
if (x_7 == 0)
{
-obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17;
-x_11 = l___private_init_lean_parser_parser_1__expectedToString___main(x_5);
-x_12 = l_Lean_Parser_Error_toString___closed__2;
-x_13 = lean::string_append(x_12, x_11);
-lean::dec(x_11);
-x_14 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_14, 0, x_13);
-lean::cnstr_set(x_14, 1, x_6);
-x_15 = l_List_append___rarg(x_10, x_14);
-x_16 = l_Lean_Parser_Error_toString___closed__3;
-x_17 = l_String_intercalate(x_16, x_15);
-return x_17;
+obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15;
+x_9 = l___private_init_lean_parser_parser_1__expectedToString___main(x_3);
+x_10 = l_Lean_Parser_Error_toString___closed__1;
+x_11 = lean::string_append(x_10, x_9);
+lean::dec(x_9);
+x_12 = lean::alloc_cnstr(1, 2, 0);
+lean::cnstr_set(x_12, 0, x_11);
+lean::cnstr_set(x_12, 1, x_6);
+x_13 = l_List_append___rarg(x_8, x_12);
+x_14 = l_Lean_Parser_Error_toString___closed__2;
+x_15 = l_String_intercalate(x_14, x_13);
+return x_15;
}
else
{
-obj* x_18; obj* x_19; obj* x_20;
-lean::dec(x_5);
-x_18 = l_List_append___rarg(x_10, x_6);
-x_19 = l_Lean_Parser_Error_toString___closed__3;
-x_20 = l_String_intercalate(x_19, x_18);
-return x_20;
+obj* x_16; obj* x_17; obj* x_18;
+lean::dec(x_3);
+x_16 = l_List_append___rarg(x_8, x_6);
+x_17 = l_Lean_Parser_Error_toString___closed__2;
+x_18 = l_String_intercalate(x_17, x_16);
+return x_18;
}
}
else
@@ -1420,25 +1415,25 @@ else
lean::dec(x_2);
if (x_7 == 0)
{
-obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27;
-x_21 = l___private_init_lean_parser_parser_1__expectedToString___main(x_5);
-x_22 = l_Lean_Parser_Error_toString___closed__2;
-x_23 = lean::string_append(x_22, x_21);
-lean::dec(x_21);
-x_24 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_24, 0, x_23);
-lean::cnstr_set(x_24, 1, x_6);
-x_25 = l_List_append___rarg(x_6, x_24);
-x_26 = l_Lean_Parser_Error_toString___closed__3;
-x_27 = l_String_intercalate(x_26, x_25);
-return x_27;
+obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25;
+x_19 = l___private_init_lean_parser_parser_1__expectedToString___main(x_3);
+x_20 = l_Lean_Parser_Error_toString___closed__1;
+x_21 = lean::string_append(x_20, x_19);
+lean::dec(x_19);
+x_22 = lean::alloc_cnstr(1, 2, 0);
+lean::cnstr_set(x_22, 0, x_21);
+lean::cnstr_set(x_22, 1, x_6);
+x_23 = l_List_append___rarg(x_6, x_22);
+x_24 = l_Lean_Parser_Error_toString___closed__2;
+x_25 = l_String_intercalate(x_24, x_23);
+return x_25;
}
else
{
-obj* x_28;
-lean::dec(x_5);
-x_28 = l_Lean_Parser_Error_toString___closed__5;
-return x_28;
+obj* x_26;
+lean::dec(x_3);
+x_26 = l_Lean_Parser_Error_toString___closed__4;
+return x_26;
}
}
}
@@ -4264,14 +4259,28 @@ return x_15;
}
else
{
-obj* x_16;
+obj* x_16; uint8 x_17;
lean::dec(x_10);
lean::dec(x_4);
lean::dec(x_3);
lean::dec(x_2);
-x_16 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_16 = lean::cnstr_get(x_9, 1);
+lean::inc(x_16);
+x_17 = lean::nat_dec_eq(x_8, x_16);
+lean::dec(x_16);
+if (x_17 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_16;
+return x_9;
+}
+else
+{
+obj* x_18;
+x_18 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_18;
+}
}
}
}
@@ -6228,12 +6237,12 @@ x_13 = x_7 == x_12;
if (x_13 == 0)
{
uint32 x_14; uint8 x_15;
-x_14 = 10;
+x_14 = 110;
x_15 = x_7 == x_14;
if (x_15 == 0)
{
uint32 x_16; uint8 x_17;
-x_16 = 9;
+x_16 = 116;
x_17 = x_7 == x_16;
if (x_17 == 0)
{
@@ -8194,20 +8203,19 @@ x_15 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spe
x_16 = lean::cnstr_get(x_15, 1);
lean::inc(x_16);
x_17 = lean::string_utf8_extract(x_7, x_8, x_16);
+lean::dec(x_8);
x_18 = lean_name_mk_string(x_3, x_17);
x_19 = l_Lean_Parser_isIdCont___main(x_7, x_15);
if (x_19 == 0)
{
obj* x_20;
lean::dec(x_16);
-lean::dec(x_1);
-x_20 = l_Lean_Parser_mkIdResult(x_8, x_2, x_18, x_4, x_15);
+x_20 = l_Lean_Parser_mkIdResult(x_1, x_2, x_18, x_4, x_15);
return x_20;
}
else
{
obj* x_21;
-lean::dec(x_8);
x_21 = l_Lean_Parser_ParserState_next(x_15, x_7, x_16);
lean::dec(x_16);
x_3 = x_18;
@@ -9585,6 +9593,139 @@ x_4 = l_Lean_Parser_checkWsBefore(x_3, x_2);
return x_4;
}
}
+uint8 l_Lean_Parser_checkTailNoWs(obj* x_1) {
+_start:
+{
+obj* x_2;
+x_2 = l_Lean_Syntax_getTailInfo___main(x_1);
+if (lean::obj_tag(x_2) == 0)
+{
+uint8 x_3;
+x_3 = 0;
+return x_3;
+}
+else
+{
+obj* x_4; obj* x_5; obj* x_6; obj* x_7; uint8 x_8;
+x_4 = lean::cnstr_get(x_2, 0);
+lean::inc(x_4);
+lean::dec(x_2);
+x_5 = lean::cnstr_get(x_4, 2);
+lean::inc(x_5);
+lean::dec(x_4);
+x_6 = lean::cnstr_get(x_5, 2);
+lean::inc(x_6);
+x_7 = lean::cnstr_get(x_5, 1);
+lean::inc(x_7);
+lean::dec(x_5);
+x_8 = lean::nat_dec_eq(x_6, x_7);
+lean::dec(x_7);
+lean::dec(x_6);
+return x_8;
+}
+}
+}
+obj* l_Lean_Parser_checkTailNoWs___boxed(obj* x_1) {
+_start:
+{
+uint8 x_2; obj* x_3;
+x_2 = l_Lean_Parser_checkTailNoWs(x_1);
+lean::dec(x_1);
+x_3 = lean::box(x_2);
+return x_3;
+}
+}
+obj* l_Lean_Parser_checkNoWsBeforeFn(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4; obj* x_5; uint8 x_6;
+x_4 = lean::cnstr_get(x_3, 0);
+lean::inc(x_4);
+x_5 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_4);
+lean::dec(x_4);
+x_6 = l_Lean_Parser_checkTailNoWs(x_5);
+lean::dec(x_5);
+if (x_6 == 0)
+{
+obj* x_7;
+x_7 = l_Lean_Parser_ParserState_mkError(x_3, x_1);
+return x_7;
+}
+else
+{
+lean::dec(x_1);
+return x_3;
+}
+}
+}
+obj* l_Lean_Parser_checkNoWsBeforeFn___boxed(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4;
+x_4 = l_Lean_Parser_checkNoWsBeforeFn(x_1, x_2, x_3);
+lean::dec(x_2);
+return x_4;
+}
+}
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1___rarg(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
+_start:
+{
+obj* x_5;
+x_5 = l_Lean_Parser_checkNoWsBeforeFn(x_1, x_3, x_4);
+return x_5;
+}
+}
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1(uint8 x_1) {
+_start:
+{
+obj* x_2;
+x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_checkNoWsBefore___elambda__1___rarg___boxed), 4, 0);
+return x_2;
+}
+}
+obj* l_Lean_Parser_checkNoWsBefore(uint8 x_1, obj* x_2) {
+_start:
+{
+obj* x_3; obj* x_4; obj* x_5;
+x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_checkNoWsBefore___elambda__1___rarg___boxed), 4, 1);
+lean::closure_set(x_3, 0, x_2);
+x_4 = l_Lean_Parser_epsilonInfo;
+x_5 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_5, 0, x_4);
+lean::cnstr_set(x_5, 1, x_3);
+return x_5;
+}
+}
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1___rarg___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
+_start:
+{
+obj* x_5;
+x_5 = l_Lean_Parser_checkNoWsBefore___elambda__1___rarg(x_1, x_2, x_3, x_4);
+lean::dec(x_3);
+lean::dec(x_2);
+return x_5;
+}
+}
+obj* l_Lean_Parser_checkNoWsBefore___elambda__1___boxed(obj* x_1) {
+_start:
+{
+uint8 x_2; obj* x_3;
+x_2 = lean::unbox(x_1);
+lean::dec(x_1);
+x_3 = l_Lean_Parser_checkNoWsBefore___elambda__1(x_2);
+return x_3;
+}
+}
+obj* l_Lean_Parser_checkNoWsBefore___boxed(obj* x_1, obj* x_2) {
+_start:
+{
+uint8 x_3; obj* x_4;
+x_3 = lean::unbox(x_1);
+lean::dec(x_1);
+x_4 = l_Lean_Parser_checkNoWsBefore(x_3, x_2);
+return x_4;
+}
+}
obj* _init_l_Lean_Parser_insertNoWsToken___closed__1() {
_start:
{
@@ -9765,48 +9906,6 @@ lean::cnstr_set(x_9, 1, x_8);
return x_9;
}
}
-uint8 l_Lean_Parser_checkTailNoWs(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_Syntax_getTailInfo___main(x_1);
-if (lean::obj_tag(x_2) == 0)
-{
-uint8 x_3;
-x_3 = 0;
-return x_3;
-}
-else
-{
-obj* x_4; obj* x_5; obj* x_6; obj* x_7; uint8 x_8;
-x_4 = lean::cnstr_get(x_2, 0);
-lean::inc(x_4);
-lean::dec(x_2);
-x_5 = lean::cnstr_get(x_4, 2);
-lean::inc(x_5);
-lean::dec(x_4);
-x_6 = lean::cnstr_get(x_5, 2);
-lean::inc(x_6);
-x_7 = lean::cnstr_get(x_5, 1);
-lean::inc(x_7);
-lean::dec(x_5);
-x_8 = lean::nat_dec_eq(x_6, x_7);
-lean::dec(x_7);
-lean::dec(x_6);
-return x_8;
-}
-}
-}
-obj* l_Lean_Parser_checkTailNoWs___boxed(obj* x_1) {
-_start:
-{
-uint8 x_2; obj* x_3;
-x_2 = l_Lean_Parser_checkTailNoWs(x_1);
-lean::dec(x_1);
-x_3 = lean::box(x_2);
-return x_3;
-}
-}
obj* l_Lean_Parser_symbolNoWsFnAux(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
@@ -12557,7 +12656,7 @@ return x_4;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1(uint8 x_1, obj* x_2, obj* x_3, obj* x_4, uint8 x_5, obj* x_6, obj* x_7, obj* x_8) {
_start:
{
-obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
+obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_29; obj* x_30; obj* x_31; obj* x_32; uint8 x_33;
x_9 = lean::cnstr_get(x_2, 1);
lean::inc(x_9);
x_10 = lean::cnstr_get(x_8, 0);
@@ -12566,32 +12665,32 @@ x_11 = lean::array_get_size(x_10);
lean::dec(x_10);
x_12 = lean::cnstr_get(x_8, 1);
lean::inc(x_12);
-x_25 = lean::cnstr_get(x_7, 0);
-lean::inc(x_25);
-x_26 = lean::cnstr_get(x_25, 2);
-lean::inc(x_26);
-lean::dec(x_25);
-x_27 = l_Lean_FileMap_toPosition___main(x_26, x_12);
-lean::dec(x_26);
-x_28 = lean::cnstr_get(x_27, 1);
-lean::inc(x_28);
-lean::dec(x_27);
-x_29 = lean::nat_dec_le(x_4, x_28);
-lean::dec(x_28);
-if (x_29 == 0)
+x_29 = lean::cnstr_get(x_7, 0);
+lean::inc(x_29);
+x_30 = lean::cnstr_get(x_29, 2);
+lean::inc(x_30);
+lean::dec(x_29);
+x_31 = l_Lean_FileMap_toPosition___main(x_30, x_12);
+lean::dec(x_30);
+x_32 = lean::cnstr_get(x_31, 1);
+lean::inc(x_32);
+lean::dec(x_31);
+x_33 = lean::nat_dec_le(x_4, x_32);
+lean::dec(x_32);
+if (x_33 == 0)
{
-obj* x_30;
+obj* x_34;
lean::inc(x_3);
-x_30 = l_Lean_Parser_ParserState_mkError(x_8, x_3);
-x_13 = x_30;
-goto block_24;
+x_34 = l_Lean_Parser_ParserState_mkError(x_8, x_3);
+x_13 = x_34;
+goto block_28;
}
else
{
x_13 = x_8;
-goto block_24;
+goto block_28;
}
-block_24:
+block_28:
{
obj* x_14;
x_14 = lean::cnstr_get(x_13, 3);
@@ -12632,29 +12731,57 @@ return x_21;
}
else
{
-obj* x_22;
+obj* x_22; uint8 x_23;
lean::dec(x_16);
lean::dec(x_7);
lean::dec(x_6);
lean::dec(x_3);
lean::dec(x_2);
-x_22 = l_Lean_Parser_ParserState_restore(x_15, x_11, x_12);
+x_22 = lean::cnstr_get(x_15, 1);
+lean::inc(x_22);
+x_23 = lean::nat_dec_eq(x_12, x_22);
+lean::dec(x_22);
+if (x_23 == 0)
+{
+lean::dec(x_12);
lean::dec(x_11);
-return x_22;
+return x_15;
+}
+else
+{
+obj* x_24;
+x_24 = l_Lean_Parser_ParserState_restore(x_15, x_11, x_12);
+lean::dec(x_11);
+return x_24;
+}
}
}
else
{
-obj* x_23;
+obj* x_25; uint8 x_26;
lean::dec(x_14);
lean::dec(x_9);
lean::dec(x_7);
lean::dec(x_6);
lean::dec(x_3);
lean::dec(x_2);
-x_23 = l_Lean_Parser_ParserState_restore(x_13, x_11, x_12);
+x_25 = lean::cnstr_get(x_13, 1);
+lean::inc(x_25);
+x_26 = lean::nat_dec_eq(x_12, x_25);
+lean::dec(x_25);
+if (x_26 == 0)
+{
+lean::dec(x_12);
lean::dec(x_11);
-return x_23;
+return x_13;
+}
+else
+{
+obj* x_27;
+x_27 = l_Lean_Parser_ParserState_restore(x_13, x_11, x_12);
+lean::dec(x_11);
+return x_27;
+}
}
}
}
@@ -12662,7 +12789,7 @@ return x_23;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__2(uint8 x_1, obj* x_2, obj* x_3, obj* x_4, uint8 x_5, obj* x_6, obj* x_7, obj* x_8) {
_start:
{
-obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
+obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_29; obj* x_30; obj* x_31; obj* x_32; uint8 x_33;
x_9 = lean::cnstr_get(x_2, 1);
lean::inc(x_9);
x_10 = lean::cnstr_get(x_8, 0);
@@ -12671,32 +12798,32 @@ x_11 = lean::array_get_size(x_10);
lean::dec(x_10);
x_12 = lean::cnstr_get(x_8, 1);
lean::inc(x_12);
-x_25 = lean::cnstr_get(x_7, 0);
-lean::inc(x_25);
-x_26 = lean::cnstr_get(x_25, 2);
-lean::inc(x_26);
-lean::dec(x_25);
-x_27 = l_Lean_FileMap_toPosition___main(x_26, x_12);
-lean::dec(x_26);
-x_28 = lean::cnstr_get(x_27, 1);
-lean::inc(x_28);
-lean::dec(x_27);
-x_29 = lean::nat_dec_le(x_4, x_28);
-lean::dec(x_28);
-if (x_29 == 0)
+x_29 = lean::cnstr_get(x_7, 0);
+lean::inc(x_29);
+x_30 = lean::cnstr_get(x_29, 2);
+lean::inc(x_30);
+lean::dec(x_29);
+x_31 = l_Lean_FileMap_toPosition___main(x_30, x_12);
+lean::dec(x_30);
+x_32 = lean::cnstr_get(x_31, 1);
+lean::inc(x_32);
+lean::dec(x_31);
+x_33 = lean::nat_dec_le(x_4, x_32);
+lean::dec(x_32);
+if (x_33 == 0)
{
-obj* x_30;
+obj* x_34;
lean::inc(x_3);
-x_30 = l_Lean_Parser_ParserState_mkError(x_8, x_3);
-x_13 = x_30;
-goto block_24;
+x_34 = l_Lean_Parser_ParserState_mkError(x_8, x_3);
+x_13 = x_34;
+goto block_28;
}
else
{
x_13 = x_8;
-goto block_24;
+goto block_28;
}
-block_24:
+block_28:
{
obj* x_14;
x_14 = lean::cnstr_get(x_13, 3);
@@ -12737,29 +12864,57 @@ return x_21;
}
else
{
-obj* x_22;
+obj* x_22; uint8 x_23;
lean::dec(x_16);
lean::dec(x_7);
lean::dec(x_6);
lean::dec(x_3);
lean::dec(x_2);
-x_22 = l_Lean_Parser_ParserState_restore(x_15, x_11, x_12);
+x_22 = lean::cnstr_get(x_15, 1);
+lean::inc(x_22);
+x_23 = lean::nat_dec_eq(x_12, x_22);
+lean::dec(x_22);
+if (x_23 == 0)
+{
+lean::dec(x_12);
lean::dec(x_11);
-return x_22;
+return x_15;
+}
+else
+{
+obj* x_24;
+x_24 = l_Lean_Parser_ParserState_restore(x_15, x_11, x_12);
+lean::dec(x_11);
+return x_24;
+}
}
}
else
{
-obj* x_23;
+obj* x_25; uint8 x_26;
lean::dec(x_14);
lean::dec(x_9);
lean::dec(x_7);
lean::dec(x_6);
lean::dec(x_3);
lean::dec(x_2);
-x_23 = l_Lean_Parser_ParserState_restore(x_13, x_11, x_12);
+x_25 = lean::cnstr_get(x_13, 1);
+lean::inc(x_25);
+x_26 = lean::nat_dec_eq(x_12, x_25);
+lean::dec(x_25);
+if (x_26 == 0)
+{
+lean::dec(x_12);
lean::dec(x_11);
-return x_23;
+return x_13;
+}
+else
+{
+obj* x_27;
+x_27 = l_Lean_Parser_ParserState_restore(x_13, x_11, x_12);
+lean::dec(x_11);
+return x_27;
+}
}
}
}
@@ -23645,6 +23800,68 @@ lean::dec(x_2);
return x_6;
}
}
+obj* l_Lean_Parser_trailingLoopStep(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; uint8 x_10; obj* x_11; obj* x_12;
+x_6 = lean::cnstr_get(x_1, 2);
+lean::inc(x_6);
+lean::dec(x_1);
+x_7 = lean::cnstr_get(x_5, 0);
+lean::inc(x_7);
+x_8 = lean::array_get_size(x_7);
+lean::dec(x_7);
+x_9 = lean::cnstr_get(x_5, 1);
+lean::inc(x_9);
+x_10 = 1;
+lean::inc(x_4);
+lean::inc(x_3);
+x_11 = l_Lean_Parser_longestMatchFn___main(x_10, x_2, x_3, x_4, x_5);
+x_12 = lean::cnstr_get(x_11, 3);
+lean::inc(x_12);
+if (lean::obj_tag(x_12) == 0)
+{
+lean::dec(x_9);
+lean::dec(x_8);
+lean::dec(x_6);
+lean::dec(x_4);
+lean::dec(x_3);
+return x_11;
+}
+else
+{
+obj* x_13; obj* x_14; uint8 x_15;
+x_13 = lean::cnstr_get(x_12, 0);
+lean::inc(x_13);
+lean::dec(x_12);
+x_14 = lean::cnstr_get(x_11, 1);
+lean::inc(x_14);
+x_15 = lean::nat_dec_eq(x_14, x_9);
+lean::dec(x_14);
+if (x_15 == 0)
+{
+lean::dec(x_13);
+lean::dec(x_9);
+lean::dec(x_8);
+lean::dec(x_6);
+lean::dec(x_4);
+lean::dec(x_3);
+return x_11;
+}
+else
+{
+obj* x_16; obj* x_17; obj* x_18;
+lean::inc(x_9);
+x_16 = l_Lean_Parser_ParserState_restore(x_11, x_8, x_9);
+lean::dec(x_8);
+x_17 = l_Lean_Parser_anyOfFn___main(x_10, x_6, x_3, x_4, x_16);
+x_18 = l_Lean_Parser_mergeOrElseErrors(x_17, x_13, x_9);
+lean::dec(x_9);
+return x_18;
+}
+}
+}
+}
obj* l_Lean_Parser_trailingLoop___main(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
@@ -23660,7 +23877,7 @@ x_9 = lean::nat_dec_le(x_8, x_2);
lean::dec(x_8);
if (x_9 == 0)
{
-obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; uint8 x_63;
+obj* x_10; obj* x_11; obj* x_12; obj* x_13; uint8 x_14;
x_10 = lean::cnstr_get(x_1, 1);
lean::inc(x_10);
lean::inc(x_7);
@@ -23672,226 +23889,103 @@ lean::inc(x_12);
x_13 = lean::cnstr_get(x_11, 1);
lean::inc(x_13);
lean::dec(x_11);
-x_63 = l_List_isEmpty___main___rarg(x_13);
-if (x_63 == 0)
+x_14 = l_List_isEmpty___main___rarg(x_13);
+if (x_14 == 0)
{
-obj* x_64;
-x_64 = lean::box(0);
-x_14 = x_64;
-goto block_62;
-}
-else
-{
-obj* x_65; uint8 x_66;
-x_65 = lean::cnstr_get(x_1, 2);
-lean::inc(x_65);
-x_66 = l_List_isEmpty___main___rarg(x_65);
-lean::dec(x_65);
-if (x_66 == 0)
-{
-obj* x_67;
-x_67 = lean::box(0);
-x_14 = x_67;
-goto block_62;
-}
-else
-{
-obj* x_68;
-lean::dec(x_13);
-lean::dec(x_7);
-lean::dec(x_3);
-lean::dec(x_1);
-x_68 = l_Lean_Parser_ParserState_pushSyntax(x_12, x_4);
-return x_68;
-}
-}
-block_62:
-{
-obj* x_15; obj* x_16; obj* x_47; obj* x_48; obj* x_49; uint8 x_50; obj* x_51; obj* x_52;
-lean::dec(x_14);
-x_15 = lean::cnstr_get(x_1, 2);
-lean::inc(x_15);
-x_47 = lean::cnstr_get(x_12, 0);
-lean::inc(x_47);
-x_48 = lean::array_get_size(x_47);
-lean::dec(x_47);
-x_49 = lean::cnstr_get(x_12, 1);
-lean::inc(x_49);
-x_50 = 1;
-lean::inc(x_12);
+obj* x_15; obj* x_16;
lean::inc(x_3);
-lean::inc(x_4);
-lean::inc(x_13);
-x_51 = l_Lean_Parser_longestMatchFn___main(x_50, x_13, x_4, x_3, x_12);
-x_52 = lean::cnstr_get(x_51, 3);
-lean::inc(x_52);
-if (lean::obj_tag(x_52) == 0)
+lean::inc(x_1);
+x_15 = l_Lean_Parser_trailingLoopStep(x_1, x_13, x_4, x_3, x_12);
+x_16 = lean::cnstr_get(x_15, 3);
+lean::inc(x_16);
+if (lean::obj_tag(x_16) == 0)
{
-obj* x_53;
-lean::dec(x_51);
-lean::dec(x_49);
-lean::dec(x_48);
-x_53 = lean::box(0);
-x_16 = x_53;
-goto block_46;
-}
-else
-{
-obj* x_54; obj* x_55; uint8 x_56;
-x_54 = lean::cnstr_get(x_52, 0);
-lean::inc(x_54);
-lean::dec(x_52);
-x_55 = lean::cnstr_get(x_51, 1);
-lean::inc(x_55);
-x_56 = lean::nat_dec_eq(x_55, x_49);
-lean::dec(x_55);
-if (x_56 == 0)
-{
-lean::dec(x_54);
-lean::dec(x_49);
-lean::dec(x_48);
-lean::dec(x_15);
-lean::dec(x_13);
-lean::dec(x_12);
-lean::dec(x_7);
-lean::dec(x_4);
-lean::dec(x_3);
-lean::dec(x_1);
-return x_51;
-}
-else
-{
-obj* x_57; obj* x_58; obj* x_59; obj* x_60;
-lean::inc(x_49);
-x_57 = l_Lean_Parser_ParserState_restore(x_51, x_48, x_49);
-lean::dec(x_48);
-lean::inc(x_3);
-lean::inc(x_4);
-lean::inc(x_15);
-x_58 = l_Lean_Parser_anyOfFn___main(x_50, x_15, x_4, x_3, x_57);
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_58, x_54, x_49);
-lean::dec(x_49);
-x_60 = lean::cnstr_get(x_59, 3);
-lean::inc(x_60);
-if (lean::obj_tag(x_60) == 0)
-{
-obj* x_61;
-lean::dec(x_59);
-x_61 = lean::box(0);
-x_16 = x_61;
-goto block_46;
-}
-else
-{
-lean::dec(x_60);
-lean::dec(x_15);
-lean::dec(x_13);
-lean::dec(x_12);
-lean::dec(x_7);
-lean::dec(x_4);
-lean::dec(x_3);
-lean::dec(x_1);
-return x_59;
-}
-}
-}
-block_46:
-{
-obj* x_17; obj* x_18; obj* x_19; uint8 x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24;
-lean::dec(x_16);
-x_17 = lean::cnstr_get(x_12, 0);
+obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22;
+x_17 = lean::cnstr_get(x_7, 0);
lean::inc(x_17);
+lean::dec(x_7);
x_18 = lean::array_get_size(x_17);
lean::dec(x_17);
-x_19 = lean::cnstr_get(x_12, 1);
-lean::inc(x_19);
-x_20 = 1;
-lean::inc(x_3);
-lean::inc(x_4);
-x_21 = l_Lean_Parser_longestMatchFn___main(x_20, x_13, x_4, x_3, x_12);
-x_22 = lean::cnstr_get(x_21, 3);
-lean::inc(x_22);
-x_23 = lean::cnstr_get(x_7, 0);
-lean::inc(x_23);
+x_19 = l___private_init_lean_parser_parser_7__mkResult(x_15, x_18);
+x_20 = lean::cnstr_get(x_19, 0);
+lean::inc(x_20);
+x_21 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_20);
+lean::dec(x_20);
+x_22 = l_Lean_Parser_ParserState_popSyntax(x_19);
+x_4 = x_21;
+x_5 = x_22;
+goto _start;
+}
+else
+{
+lean::dec(x_16);
lean::dec(x_7);
-x_24 = lean::array_get_size(x_23);
-lean::dec(x_23);
-if (lean::obj_tag(x_22) == 0)
-{
-obj* x_25; obj* x_26; obj* x_27; obj* x_28;
-lean::dec(x_19);
-lean::dec(x_18);
-lean::dec(x_15);
-lean::dec(x_4);
-x_25 = l___private_init_lean_parser_parser_7__mkResult(x_21, x_24);
-x_26 = lean::cnstr_get(x_25, 0);
-lean::inc(x_26);
-x_27 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_26);
-lean::dec(x_26);
-x_28 = l_Lean_Parser_ParserState_popSyntax(x_25);
-x_4 = x_27;
-x_5 = x_28;
-goto _start;
-}
-else
-{
-obj* x_30; obj* x_31; uint8 x_32;
-x_30 = lean::cnstr_get(x_22, 0);
-lean::inc(x_30);
-lean::dec(x_22);
-x_31 = lean::cnstr_get(x_21, 1);
-lean::inc(x_31);
-x_32 = lean::nat_dec_eq(x_31, x_19);
-lean::dec(x_31);
-if (x_32 == 0)
-{
-obj* x_33; obj* x_34; obj* x_35; obj* x_36;
-lean::dec(x_30);
-lean::dec(x_19);
-lean::dec(x_18);
-lean::dec(x_15);
-lean::dec(x_4);
-x_33 = l___private_init_lean_parser_parser_7__mkResult(x_21, x_24);
-x_34 = lean::cnstr_get(x_33, 0);
-lean::inc(x_34);
-x_35 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_34);
-lean::dec(x_34);
-x_36 = l_Lean_Parser_ParserState_popSyntax(x_33);
-x_4 = x_35;
-x_5 = x_36;
-goto _start;
-}
-else
-{
-obj* x_38; obj* x_39; obj* x_40; obj* x_41; obj* x_42; obj* x_43; obj* x_44;
-lean::inc(x_19);
-x_38 = l_Lean_Parser_ParserState_restore(x_21, x_18, x_19);
-lean::dec(x_18);
-lean::inc(x_3);
-x_39 = l_Lean_Parser_anyOfFn___main(x_20, x_15, x_4, x_3, x_38);
-x_40 = l_Lean_Parser_mergeOrElseErrors(x_39, x_30, x_19);
-lean::dec(x_19);
-x_41 = l___private_init_lean_parser_parser_7__mkResult(x_40, x_24);
-x_42 = lean::cnstr_get(x_41, 0);
-lean::inc(x_42);
-x_43 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_42);
-lean::dec(x_42);
-x_44 = l_Lean_Parser_ParserState_popSyntax(x_41);
-x_4 = x_43;
-x_5 = x_44;
-goto _start;
-}
-}
-}
-}
-}
-else
-{
-obj* x_69;
lean::dec(x_3);
lean::dec(x_1);
-x_69 = l_Lean_Parser_ParserState_pushSyntax(x_7, x_4);
-return x_69;
+return x_15;
+}
+}
+else
+{
+obj* x_24; uint8 x_25;
+x_24 = lean::cnstr_get(x_1, 2);
+lean::inc(x_24);
+x_25 = l_List_isEmpty___main___rarg(x_24);
+lean::dec(x_24);
+if (x_25 == 0)
+{
+obj* x_26; obj* x_27;
+lean::inc(x_3);
+lean::inc(x_1);
+x_26 = l_Lean_Parser_trailingLoopStep(x_1, x_13, x_4, x_3, x_12);
+x_27 = lean::cnstr_get(x_26, 3);
+lean::inc(x_27);
+if (lean::obj_tag(x_27) == 0)
+{
+obj* x_28; obj* x_29; obj* x_30; obj* x_31; obj* x_32; obj* x_33;
+x_28 = lean::cnstr_get(x_7, 0);
+lean::inc(x_28);
+lean::dec(x_7);
+x_29 = lean::array_get_size(x_28);
+lean::dec(x_28);
+x_30 = l___private_init_lean_parser_parser_7__mkResult(x_26, x_29);
+x_31 = lean::cnstr_get(x_30, 0);
+lean::inc(x_31);
+x_32 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_31);
+lean::dec(x_31);
+x_33 = l_Lean_Parser_ParserState_popSyntax(x_30);
+x_4 = x_32;
+x_5 = x_33;
+goto _start;
+}
+else
+{
+lean::dec(x_27);
+lean::dec(x_7);
+lean::dec(x_3);
+lean::dec(x_1);
+return x_26;
+}
+}
+else
+{
+obj* x_35;
+lean::dec(x_13);
+lean::dec(x_7);
+lean::dec(x_3);
+lean::dec(x_1);
+x_35 = l_Lean_Parser_ParserState_pushSyntax(x_12, x_4);
+return x_35;
+}
+}
+}
+else
+{
+obj* x_36;
+lean::dec(x_3);
+lean::dec(x_1);
+x_36 = l_Lean_Parser_ParserState_pushSyntax(x_7, x_4);
+return x_36;
}
}
}
@@ -23904,7 +23998,7 @@ lean::dec(x_2);
return x_6;
}
}
-obj* l_Lean_Parser_trailingLoop___rarg(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+obj* l_Lean_Parser_trailingLoop(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
obj* x_6;
@@ -23912,32 +24006,15 @@ x_6 = l_Lean_Parser_trailingLoop___main(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
-obj* l_Lean_Parser_trailingLoop(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_trailingLoop___rarg___boxed), 5, 0);
-return x_2;
-}
-}
-obj* l_Lean_Parser_trailingLoop___rarg___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+obj* l_Lean_Parser_trailingLoop___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
obj* x_6;
-x_6 = l_Lean_Parser_trailingLoop___rarg(x_1, x_2, x_3, x_4, x_5);
+x_6 = l_Lean_Parser_trailingLoop(x_1, x_2, x_3, x_4, x_5);
lean::dec(x_2);
return x_6;
}
}
-obj* l_Lean_Parser_trailingLoop___boxed(obj* x_1) {
-_start:
-{
-obj* x_2;
-x_2 = l_Lean_Parser_trailingLoop(x_1);
-lean::dec(x_1);
-return x_2;
-}
-}
obj* l_Lean_Parser_prattParser(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
@@ -27263,8 +27340,6 @@ l_Lean_Parser_Error_toString___closed__3 = _init_l_Lean_Parser_Error_toString___
lean::mark_persistent(l_Lean_Parser_Error_toString___closed__3);
l_Lean_Parser_Error_toString___closed__4 = _init_l_Lean_Parser_Error_toString___closed__4();
lean::mark_persistent(l_Lean_Parser_Error_toString___closed__4);
-l_Lean_Parser_Error_toString___closed__5 = _init_l_Lean_Parser_Error_toString___closed__5();
-lean::mark_persistent(l_Lean_Parser_Error_toString___closed__5);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Error"), "toString"), 1, l_Lean_Parser_Error_toString);
l_Lean_Parser_Error_HasToString___closed__1 = _init_l_Lean_Parser_Error_HasToString___closed__1();
lean::mark_persistent(l_Lean_Parser_Error_HasToString___closed__1);
@@ -27451,11 +27526,13 @@ REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_na
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "checkTailWs"), 1, l_Lean_Parser_checkTailWs___boxed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "checkWsBeforeFn"), 3, l_Lean_Parser_checkWsBeforeFn___boxed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "checkWsBefore"), 2, l_Lean_Parser_checkWsBefore___boxed);
+REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "checkTailNoWs"), 1, l_Lean_Parser_checkTailNoWs___boxed);
+REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "checkNoWsBeforeFn"), 3, l_Lean_Parser_checkNoWsBeforeFn___boxed);
+REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "checkNoWsBefore"), 2, l_Lean_Parser_checkNoWsBefore___boxed);
l_Lean_Parser_insertNoWsToken___closed__1 = _init_l_Lean_Parser_insertNoWsToken___closed__1();
lean::mark_persistent(l_Lean_Parser_insertNoWsToken___closed__1);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "insertNoWsToken"), 3, l_Lean_Parser_insertNoWsToken);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "symbolNoWsInfo"), 2, l_Lean_Parser_symbolNoWsInfo);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "checkTailNoWs"), 1, l_Lean_Parser_checkTailNoWs___boxed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "symbolNoWsFnAux"), 5, l_Lean_Parser_symbolNoWsFnAux___boxed);
l_Lean_Parser_symbolNoWsFn___closed__1 = _init_l_Lean_Parser_symbolNoWsFn___closed__1();
lean::mark_persistent(l_Lean_Parser_symbolNoWsFn___closed__1);
@@ -27561,7 +27638,8 @@ l_Lean_Parser_indexed___rarg___closed__1 = _init_l_Lean_Parser_indexed___rarg___
lean::mark_persistent(l_Lean_Parser_indexed___rarg___closed__1);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "indexed"), 1, l_Lean_Parser_indexed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "leadingParser"), 5, l_Lean_Parser_leadingParser___boxed);
-REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "trailingLoop"), 1, l_Lean_Parser_trailingLoop___boxed);
+REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "trailingLoopStep"), 5, l_Lean_Parser_trailingLoopStep);
+REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "trailingLoop"), 5, l_Lean_Parser_trailingLoop___boxed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "prattParser"), 5, l_Lean_Parser_prattParser);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "mkBuiltinTokenTable"), 1, l_Lean_Parser_mkBuiltinTokenTable);
w = l_Lean_Parser_mkBuiltinTokenTable(w);
diff --git a/src/stage0/init/lean/parser/term.cpp b/src/stage0/init/lean/parser/term.cpp
index 7acbc1f34f..5131abfc6e 100644
--- a/src/stage0/init/lean/parser/term.cpp
+++ b/src/stage0/init/lean/parser/term.cpp
@@ -14,6 +14,7 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64;
#pragma GCC diagnostic ignored "-Wunused-label"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
+obj* l_Lean_Parser_Term_namedPattern___closed__3;
obj* l_Lean_Parser_Term_have___closed__6;
obj* l_Lean_Parser_Term_typeSpec___elambda__1___rarg___closed__2;
obj* l___regBuiltinParser_Lean_Parser_Term_dollar(obj*);
@@ -34,6 +35,7 @@ obj* l_Lean_Parser_Term_fun___closed__4;
obj* l_Lean_Parser_Term_cons___elambda__1___closed__1;
obj* l_Lean_Parser_Term_inaccessible___closed__5;
obj* l_Lean_Parser_Term_let___closed__2;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9;
uint8 l_Lean_Parser_checkTailNoWs(obj*);
obj* l_Lean_Parser_Term_typeAscription___closed__2;
obj* l_Lean_Parser_Term_emptyC___closed__1;
@@ -46,19 +48,22 @@ obj* l_Lean_Parser_mkTermParserAttribute___closed__3;
obj* l_Lean_Parser_Term_bnot___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_checkIsSort___elambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_ge___elambda__1___closed__5;
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doSeq___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_arrow;
obj* l_Lean_Parser_Term_structInstSource;
obj* l_Lean_Parser_Term_ge___elambda__1___closed__4;
obj* l_Lean_Parser_regBuiltinTermParserAttr(obj*);
obj* l_Lean_Parser_Term_subtype___elambda__1___boxed(obj*);
+obj* l_Lean_Parser_Term_letPatDecl___closed__5;
obj* l_Lean_Parser_Term_mapConstRev;
obj* l_Lean_Parser_Term_add___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_subtype___closed__2;
obj* l_Lean_Parser_unicodeSymbolFnAux(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_letIdDecl___elambda__1___closed__2;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__9;
+obj* l___regBuiltinParser_Lean_Parser_Term_mapRev(obj*);
obj* l_Lean_Parser_termParser(uint8, obj*);
obj* l_Lean_Parser_Term_tupleTail___elambda__1___closed__1;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__13;
obj* l_Lean_Parser_Term_optType___closed__3;
obj* l_Lean_Parser_Term_match___closed__1;
obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__10;
@@ -87,8 +92,11 @@ obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spe
obj* l_Lean_Parser_Term_depArrow___closed__7;
obj* l___regBuiltinParser_Lean_Parser_Term_parser_x21(obj*);
obj* l_Lean_Parser_Term_orelse___closed__1;
+obj* l_Lean_Parser_Term_mapRev___elambda__1___closed__3;
obj* l_Lean_Parser_Term_id___closed__5;
obj* l_Lean_Parser_Term_andthen___closed__2;
+extern obj* l_Lean_Parser_Error_toString___closed__2;
+obj* l_Lean_Parser_Term_namedPattern___closed__4;
obj* l_Lean_Parser_Term_inaccessible___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_suffices___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_doPat___elambda__1___rarg(obj*, obj*);
@@ -101,7 +109,6 @@ obj* l_Lean_Parser_Term_uminus___closed__4;
obj* l_Lean_Parser_Term_app___elambda__1___closed__1;
obj* l_Lean_Parser_Term_optType;
obj* l_Lean_Parser_Term_subtype___elambda__1___rarg(obj*, obj*);
-obj* l_Lean_Parser_Term_id___elambda__1___closed__6;
obj* l_Lean_Parser_Term_nomatch___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__9;
obj* l_Lean_Parser_Term_type___closed__3;
@@ -181,7 +188,6 @@ obj* l_Lean_Parser_Term_haveAssign___closed__5;
obj* l_Lean_Parser_Term_char___elambda__1(obj*);
obj* l_Lean_Parser_Term_prop___closed__1;
obj* l_Lean_Parser_Term_app___closed__5;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__4;
obj* l_Lean_Parser_Term_array___elambda__1___closed__2;
obj* l_Lean_Parser_Term_instBinder___closed__4;
obj* l_Lean_Parser_Term_subst___elambda__1(obj*, obj*, obj*);
@@ -212,7 +218,6 @@ obj* l_Lean_Parser_Term_fun___elambda__1___closed__10;
obj* l_Lean_Parser_mergeOrElseErrors(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_matchAlt___elambda__1___closed__10;
obj* l_Lean_Parser_symbolInfo(obj*, obj*);
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__3;
obj* l_Lean_Parser_Term_nomatch___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_bnot___closed__2;
obj* l_Lean_Parser_Term_andM___elambda__1___closed__2;
@@ -249,12 +254,12 @@ extern obj* l_Lean_formatDataValue___main___closed__1;
obj* l_Lean_Parser_Term_leftArrow___elambda__1___rarg___closed__9;
obj* l_Lean_Parser_Term_show___closed__3;
obj* l_Lean_Parser_Term_dollar;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__3;
obj* l_Lean_Parser_Term_sorry___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_termParser___lambda__1(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_add___elambda__1___closed__1;
obj* l_Lean_Parser_Term_and;
obj* l_Lean_Parser_Term_sort___elambda__1___rarg___closed__4;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_typeSpec___closed__2;
obj* l_Lean_Parser_Term_nomatch___closed__2;
obj* l_Lean_Parser_Term_hole;
@@ -269,7 +274,6 @@ obj* l_Lean_Parser_Term_uminus___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_have;
obj* l_Lean_Parser_Term_doPat___closed__6;
obj* l_Lean_Parser_Term_structInst___closed__3;
-obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_seqLeft___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_modN;
obj* l_Lean_Parser_Term_prop___elambda__1___rarg___closed__6;
@@ -279,8 +283,8 @@ obj* l_Lean_Parser_Term_subtype___closed__3;
obj* l_Lean_Parser_Term_equation___elambda__1___closed__1;
obj* l_Lean_Parser_Term_optIdent___elambda__1___boxed(obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_seq(obj*);
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
obj* l_Lean_Parser_Term_beq___elambda__1___closed__1;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6;
obj* l_Lean_Parser_Term_explicit___elambda__1___closed__1;
obj* l_Lean_Parser_Term_fun___elambda__1___closed__14;
obj* l_Lean_Parser_Term_namedArgument___elambda__1(obj*);
@@ -289,6 +293,7 @@ obj* l_Lean_Parser_Term_explicit___closed__4;
obj* l_Lean_Parser_Term_letPatDecl___closed__2;
obj* l___regBuiltinParser_Lean_Parser_Term_inaccessible(obj*);
obj* l_Lean_Parser_Term_proj___closed__9;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__2;
obj* l_Lean_Parser_Term_quotedName___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_binderTactic___closed__4;
obj* l_Lean_Parser_Term_tparser_x21___closed__2;
@@ -335,7 +340,6 @@ obj* l_Lean_Parser_sepBy1Info(obj*, obj*);
obj* l_Lean_Parser_Term_infixR___elambda__1(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_equiv;
obj* l_Lean_Parser_Term_type___elambda__1___rarg___closed__4;
-obj* l_Lean_Parser_Term_id___closed__9;
obj* l_Lean_Parser_Term_doLet___closed__2;
obj* l_Lean_Parser_Term_cdot___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Term_type___closed__1;
@@ -355,6 +359,7 @@ obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_fun___elambda__1___spec_
extern obj* l_Lean_Parser_ParserAttribute_inhabited___closed__6;
obj* l_Lean_Parser_Term_iff___elambda__1___closed__3;
obj* l_Lean_Parser_Term_seqLeft___closed__3;
+obj* l___regBuiltinParser_Lean_Parser_Term_orM(obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_hole(obj*);
obj* l_Lean_Parser_Term_fromTerm___elambda__1___rarg___closed__1;
obj* l___regBuiltinParser_Lean_Parser_Term_cdot(obj*);
@@ -364,6 +369,7 @@ obj* l_Lean_Parser_Term_binderType___closed__1;
obj* l_Lean_Parser_ParserState_mkUnexpectedError(obj*, obj*);
obj* l_Lean_Parser_Term_namedArgument___closed__6;
obj* l_Lean_Parser_Term_optType___closed__2;
+obj* l_Lean_Parser_Term_namedPattern___closed__6;
obj* l_Lean_Parser_mkTermParserAttribute(obj*);
obj* l_Lean_Parser_Term_equiv___closed__2;
obj* l_Lean_Parser_Term_equation___closed__1;
@@ -372,7 +378,6 @@ obj* l_Lean_Parser_Term_seqLeft;
obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__1;
obj* l_Lean_Parser_Term_tupleTail;
obj* l_Lean_Parser_Term_quotedName___closed__2;
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_paren___elambda__1___closed__1;
obj* l_Lean_Parser_Term_proj___closed__8;
obj* l_Lean_Parser_Term_orelse___elambda__1___closed__1;
@@ -401,11 +406,11 @@ obj* l_Lean_Parser_Term_doSeq;
obj* l_Lean_Parser_Term_bor___closed__2;
obj* l_Lean_Parser_Term_app___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_char___closed__2;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__11;
obj* l_Lean_Parser_Term_structInst___closed__11;
obj* l_Lean_Parser_Term_bnot___elambda__1___rarg___closed__1;
obj* l___regBuiltinParser_Lean_Parser_Term_uminus(obj*);
obj* l_Lean_Parser_Term_subst___elambda__1___closed__2;
+obj* l_Lean_Parser_Term_namedPattern___closed__5;
obj* l_Lean_Parser_Term_tupleTail___elambda__1(obj*, obj*, obj*);
uint8 l_Lean_Syntax_isOfKind___main(obj*, obj*);
obj* l_Lean_Parser_Term_fun___closed__8;
@@ -420,7 +425,6 @@ obj* l_Lean_Parser_Term_doPat___elambda__1(obj*);
obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__8;
obj* l_Lean_Parser_Term_namedArgument___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_parenSpecial___closed__2;
-obj* l_Lean_Parser_Term_have___elambda__1___rarg___closed__12;
obj* l_Lean_Parser_Term_seq___closed__3;
obj* l_Lean_Parser_Term_inaccessible___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_div___elambda__1___closed__1;
@@ -437,9 +441,9 @@ obj* l_Lean_Parser_Term_num___closed__1;
obj* l_Lean_Parser_Term_suffices___closed__3;
obj* l_Lean_Parser_Term_binderTactic;
obj* l_Lean_Parser_Term_sortApp___closed__1;
-obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(uint8, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_matchAlt___elambda__1___closed__3;
obj* l_Lean_Parser_Term_dollar___elambda__1(obj*, obj*, obj*);
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__12;
obj* l_Lean_Parser_Term_borrowed___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_typeAscription___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_prop___closed__4;
@@ -451,7 +455,7 @@ obj* l_Lean_Parser_Term_binderType___elambda__2___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_beq___closed__1;
obj* l_Lean_Parser_Term_uminus___closed__3;
obj* l_Lean_Parser_Term_uminus___elambda__1___rarg(obj*, obj*);
-obj* l_Lean_Parser_Term_explicit___elambda__1___closed__6;
+obj* l_Lean_Parser_Term_explicitUniv___closed__8;
obj* l_Lean_Parser_registerBuiltinParserAttribute(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_mod___elambda__1___closed__4;
obj* l_Lean_Parser_Term_structInst___elambda__1___closed__5;
@@ -480,9 +484,12 @@ obj* l_Lean_Parser_Term_eq___elambda__1___closed__3;
obj* l_Lean_Parser_Term_mul;
obj* l_Lean_Parser_Term_parenSpecial___closed__1;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*);
+obj* l_Lean_Parser_Term_orM___elambda__1___closed__4;
obj* l_Lean_Parser_Term_structInstField___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_match___elambda__1___closed__2;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Term_paren___closed__7;
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___spec__1(uint8, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_doId___closed__4;
extern obj* l___regBuiltinParser_Lean_Parser_Level_num___closed__1;
obj* l_Lean_Parser_Term_borrowed___elambda__1___rarg___closed__8;
@@ -492,18 +499,20 @@ obj* l_Lean_Parser_Term_explicitBinder___closed__10;
obj* l_Lean_Parser_Term_prop___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_letPatDecl___elambda__1___rarg(obj*, obj*);
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_ne;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
obj* l_Lean_Parser_Term_quotedName___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_list___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_modN___elambda__1___closed__3;
obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__4;
obj* l_Lean_Parser_Term_fun___elambda__1___closed__13;
obj* l_Lean_Parser_Term_explicit___elambda__1(obj*, obj*, obj*);
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_seq___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_doPat___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_heq___elambda__1___closed__3;
extern obj* l_Lean_Parser_charLit___closed__1;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__5;
obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__17;
obj* l_Lean_Parser_Term_tparser_x21;
obj* l_Lean_Parser_Term_arrow___elambda__1(obj*, obj*, obj*);
@@ -548,10 +557,8 @@ obj* l_Lean_Parser_Term_type___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Term_match___elambda__1___closed__6;
obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
extern obj* l_Lean_Parser_Level_paren___closed__4;
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_add___closed__1;
obj* l_Lean_Parser_Term_arrow___closed__2;
-obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_letIdLhs___closed__3;
obj* l_Lean_Parser_Term_doId___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_show___closed__2;
@@ -564,10 +571,10 @@ obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__
obj* l_Lean_Parser_Term_letPatDecl___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_match___elambda__1___closed__7;
obj* l_Lean_Parser_Term_fun___elambda__1___closed__19;
-obj* l_Lean_Parser_Term_id___closed__11;
obj* l_Lean_Parser_Term_str;
obj* l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_subtype___closed__6;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_bind___closed__2;
obj* l_Lean_Parser_Term_borrowed___closed__5;
obj* l_Lean_Parser_Term_type___closed__2;
@@ -584,6 +591,7 @@ obj* l_Lean_Parser_Term_letIdLhs___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_letDecl;
obj* l_Lean_Parser_fieldIdxFn(obj*, obj*);
obj* l_Lean_Parser_Term_matchAlt___closed__4;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_bnot___closed__1;
extern obj* l_Lean_Parser_Level_paren___closed__1;
obj* l___regBuiltinParser_Lean_Parser_Term_modN(obj*);
@@ -612,9 +620,9 @@ obj* l_Lean_Parser_Term_add;
obj* l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Term_type___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_haveAssign;
-obj* l_Lean_Parser_Term_doSeq___closed__5;
obj* l_Lean_Parser_Term_letDecl___closed__1;
obj* l_Lean_Parser_Term_instBinder___closed__2;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__3;
obj* l_Lean_Parser_Term_mapConst___elambda__1___closed__3;
obj* l___regBuiltinParser_Lean_Parser_Term_proj(obj*);
obj* l_Lean_Parser_Term_match___elambda__1___closed__8;
@@ -622,8 +630,8 @@ obj* l_Lean_Parser_Term_char___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_borrowed___closed__4;
obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_str(obj*);
-obj* l_Lean_Parser_Term_id___elambda__1___closed__12;
obj* l_Lean_Parser_Term_structInst___closed__2;
+obj* l_Lean_Parser_checkNoWsBeforeFn(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_cons___closed__1;
obj* l_Lean_Parser_Term_explicitBinder___closed__8;
obj* l_Lean_Parser_Term_if___closed__2;
@@ -642,6 +650,8 @@ obj* l_Lean_Parser_Term_suffices___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Term_add___closed__2;
obj* l_Lean_Parser_Term_matchAlt___closed__7;
obj* l_Lean_Parser_Term_checkIsSort___closed__1;
+obj* l_Lean_Parser_Term_mapRev___elambda__1___closed__1;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___spec__1(uint8, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_structInstField___closed__4;
@@ -667,6 +677,7 @@ obj* l_Lean_Parser_Term_fcomp;
obj* l_Lean_Parser_Term_band___elambda__1___closed__2;
obj* l_Lean_Parser_Term_structInst___closed__12;
obj* l_Lean_Parser_Term_suffices___elambda__1___rarg___closed__1;
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doSeq___spec__1(uint8, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_inaccessible___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Term_nomatch___elambda__1___rarg___closed__1;
obj* l___regBuiltinParser_Lean_Parser_Term_seqRight(obj*);
@@ -697,6 +708,7 @@ obj* l_Lean_Parser_Term_not___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_dollar___closed__1;
obj* l_Lean_Parser_Term_match___elambda__1___closed__10;
obj* l_Lean_Parser_Term_not___closed__4;
+obj* l_Lean_Parser_Term_mapRev___closed__1;
obj* l_Lean_Parser_Term_unicodeInfixR(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_pow___elambda__1___closed__3;
obj* l_Lean_Parser_Term_bind;
@@ -713,11 +725,15 @@ obj* l_Lean_Parser_Term_doId___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_inaccessible___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_doPat___closed__8;
obj* l_Lean_Parser_Term_doLet;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__1;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
obj* l_Lean_Parser_Term_list___closed__8;
obj* l___regBuiltinParser_Lean_Parser_Term_eq(obj*);
+obj* l_Lean_Parser_Term_mapRev___closed__3;
obj* l_Lean_Parser_Term_subst___elambda__1___closed__1;
obj* l_Lean_Parser_Term_prop___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_quotedName___closed__4;
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_prop___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_namedArgument___closed__4;
obj* l_Lean_Parser_Term_fromTerm___closed__4;
@@ -736,6 +752,7 @@ obj* l_Lean_Parser_Term_pow___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_nomatch___elambda__1(obj*);
obj* l_Lean_Parser_manyAux___main(uint8, obj*, obj*, obj*, obj*);
+obj* l_Lean_Parser_Term_orM;
obj* l_Lean_Parser_Term_bind___elambda__1___closed__4;
obj* l_Lean_Parser_Term_doSeq___elambda__1___closed__1;
obj* l_Lean_Parser_Term_append___elambda__1___closed__3;
@@ -743,6 +760,7 @@ obj* l_Lean_Parser_Term_let___closed__5;
obj* l_Lean_Parser_Term_doExpr___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__9;
obj* l_Lean_Parser_Term_sub___elambda__1___closed__2;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
obj* l_Lean_Parser_Term_anonymousCtor___elambda__1(obj*, obj*, obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_array(obj*);
obj* l_Lean_Parser_Term_mul___closed__3;
@@ -798,6 +816,7 @@ obj* l_Lean_Parser_Term_tupleTail___closed__4;
obj* l_Lean_Parser_Term_proj___closed__5;
obj* l_Lean_Parser_Term_doExpr___elambda__1(obj*);
obj* l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__3;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Term_if___closed__11;
obj* l_Lean_Parser_Term_bne___elambda__1___closed__3;
obj* l_Lean_Parser_Term_andthen___elambda__1___closed__1;
@@ -829,6 +848,7 @@ obj* l___regBuiltinParser_Lean_Parser_Term_let(obj*);
extern obj* l_Char_HasRepr___closed__1;
obj* l_Lean_Parser_Term_equiv___elambda__1___closed__3;
obj* l_Lean_Parser_mkTermParserAttribute___closed__4;
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_cdot;
obj* l_Lean_Parser_Term_letEqns;
obj* l_Lean_Parser_Term_leftArrow___elambda__1(obj*);
@@ -858,6 +878,7 @@ obj* l_Lean_Parser_Term_fun___elambda__1___closed__15;
obj* l_Lean_Parser_Term_bne___elambda__1___closed__4;
obj* l_Lean_Parser_Term_dollar___closed__2;
obj* l_Lean_Parser_Term_binderTactic___closed__1;
+obj* l_Lean_Parser_Term_explicitUniv___closed__6;
obj* l_Lean_Parser_Term_doExpr___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_ge___elambda__1___closed__2;
obj* l_Lean_Parser_Term_sort;
@@ -889,12 +910,14 @@ obj* l_Lean_Parser_Term_show___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Term_fromTerm___elambda__1(obj*);
extern obj* l_Lean_nullKind;
obj* l_Lean_Parser_Term_nomatch___elambda__1___rarg___closed__5;
+obj* l_Lean_Parser_Term_explicitUniv___closed__9;
obj* l_Lean_Parser_Term_mod___closed__2;
obj* l_Lean_Parser_strLitFn___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_sorry;
obj* l_Lean_Parser_Term_mapConst___closed__3;
obj* l_Lean_Parser_Term_typeAscription___closed__5;
obj* l_Lean_Parser_Term_sortApp___elambda__1___closed__2;
+obj* l_Lean_Parser_Term_orM___closed__3;
obj* l_Lean_Parser_addBuiltinTrailingParser(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_seqLeft___elambda__1___closed__3;
obj* l_Lean_Parser_Term_match;
@@ -915,6 +938,7 @@ obj* l_Lean_Parser_Term_structInstSource___closed__5;
obj* l_Lean_Parser_Term_parser_x21___elambda__1(obj*);
obj* l_Lean_Parser_Term_match___closed__2;
obj* l_Lean_Parser_Term_bne___closed__1;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
obj* l_Lean_Parser_Term_matchAlt___elambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_binderType___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_fun___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*);
@@ -959,10 +983,12 @@ obj* l_Lean_Parser_Term_fromTerm___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_instBinder___closed__5;
obj* l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__1;
-obj* l_Lean_Parser_Term_id___closed__7;
obj* l_Lean_Parser_Term_tparser_x21___closed__1;
extern obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__3;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_have___closed__9;
+obj* l_Lean_Parser_Term_explicitUniv;
+obj* l_Lean_Parser_Term_explicitUniv___closed__3;
obj* l_Lean_Parser_Term_have___closed__1;
obj* l_Lean_Parser_Term_unicodeInfixL___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_not___elambda__1___rarg___closed__7;
@@ -983,6 +1009,7 @@ obj* l_Lean_Parser_Term_show___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_mkTermParserAttribute___closed__5;
obj* l___regBuiltinParser_Lean_Parser_Term_num___closed__1;
obj* l_Lean_Parser_Term_bind___closed__3;
+obj* l_Lean_Parser_Term_orM___elambda__1___closed__1;
obj* l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Term_suffices___closed__2;
obj* l_Lean_Parser_Term_band___closed__2;
@@ -995,6 +1022,7 @@ obj* l_Lean_Parser_Term_forall___elambda__1___closed__6;
obj* l_Lean_Parser_Term_proj___closed__7;
obj* l_Lean_Parser_Term_letEqns___closed__6;
obj* l_Lean_Parser_Term_doSeq___elambda__1(obj*, obj*, obj*);
+obj* l_Lean_Parser_Term_orM___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_beq___elambda__1___closed__4;
obj* l_Lean_Parser_Term_have___elambda__1___boxed(obj*);
obj* l_Lean_Parser_strAux___main(obj*, obj*, obj*, obj*, obj*);
@@ -1025,6 +1053,7 @@ obj* l_Lean_Parser_Term_if___closed__9;
obj* l_Lean_Parser_Term_haveAssign___closed__3;
obj* l_Lean_Parser_Term_forall;
obj* l_Lean_Parser_Term_not___elambda__1___rarg___closed__3;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
namespace lean {
uint8 string_dec_eq(obj*, obj*);
}
@@ -1033,8 +1062,7 @@ obj* l_Lean_Parser_Term_tparser_x21___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_match___elambda__1___closed__1;
obj* l_Lean_Parser_Term_ge___elambda__1___closed__1;
obj* l___regBuiltinParser_Lean_Parser_Term_band(obj*);
-obj* l_Lean_Parser_Term_id___closed__8;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__8;
+obj* l_Lean_Parser_Term_explicitUniv___closed__1;
obj* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1;
obj* l_Lean_Parser_Term_structInstSource___closed__4;
obj* l_Lean_Parser_Term_parenSpecial___closed__3;
@@ -1055,6 +1083,7 @@ obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__4;
obj* l_Lean_Parser_Term_not___closed__6;
obj* l___regBuiltinParser_Lean_Parser_Term_sort(obj*);
obj* l_Lean_Parser_Term_equation___elambda__1___boxed(obj*, obj*, obj*);
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(uint8, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_numLitFn___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Term_letIdLhs___closed__4;
@@ -1066,7 +1095,6 @@ obj* l_Lean_Parser_Term_letDecl___closed__3;
obj* l_Lean_Parser_Term_nomatch___closed__3;
obj* l_Lean_Parser_Term_bracketedDoSeq___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_fcomp___elambda__1___closed__2;
-obj* l_Lean_Parser_Term_explicit___elambda__1___closed__3;
obj* l___regBuiltinParser_Lean_Parser_Term_sub(obj*);
obj* l_Lean_Parser_Term_structInstField___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_explicit___closed__1;
@@ -1085,14 +1113,14 @@ obj* l___regBuiltinParser_Lean_Parser_Term_nomatch(obj*);
obj* l_Lean_Parser_Term_explicitBinder___closed__2;
obj* l_Lean_Parser_Term_fun___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_andthen;
-obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_id___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_emptyC___closed__4;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__7;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_do___closed__6;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___spec__1(obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_haveAssign___closed__4;
obj* l_Lean_Parser_Term_instBinder___closed__7;
obj* l_Lean_Parser_Term_and___elambda__1___closed__4;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__5;
obj* l_Lean_Parser_Term_and___elambda__1___closed__5;
obj* l_Lean_Parser_Term_iff___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_tparser_x21___closed__5;
@@ -1102,12 +1130,12 @@ obj* l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
obj* l_Lean_Parser_Term_match___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_doLet___elambda__1___closed__2;
obj* l___regBuiltinParser_Lean_Parser_Term_id(obj*);
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_forall___closed__2;
obj* l___regBuiltinParser_Lean_Parser_Term_explicit(obj*);
obj* l_Lean_Parser_Term_structInstSource___closed__3;
obj* l_Lean_Parser_Term_sorry___closed__3;
obj* l___regBuiltinParser_Lean_Parser_Term_bne(obj*);
-obj* l_Lean_Parser_Term_id___elambda__1___closed__13;
obj* l_Lean_Parser_Term_add___elambda__1___closed__3;
obj* l_Lean_Parser_Term_binderIdent___elambda__1(obj*);
obj* l_Lean_Parser_Term_letEqns___closed__5;
@@ -1120,20 +1148,18 @@ obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___spec__2(obj*, ui
obj* l_Lean_Parser_Term_suffices___closed__7;
obj* l_Lean_Parser_Term_if___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_parenSpecial___closed__4;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_prod;
obj* l_Lean_Parser_Term_letDecl___closed__2;
obj* l_Lean_Parser_Term_doElem___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_bnot___elambda__1___rarg___closed__4;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__10;
obj* l_Lean_Parser_Term_orelse___closed__2;
obj* l_Lean_Parser_Term_instBinder___elambda__1(obj*);
-obj* l_Lean_Parser_Term_explicit___elambda__1___closed__5;
obj* l_Lean_Parser_Term_structInstSource___closed__1;
+obj* l_Lean_Parser_Term_explicitUniv___closed__4;
extern obj* l_Lean_Parser_numLit___closed__1;
obj* l___regBuiltinParser_Lean_Parser_Term_div(obj*);
obj* l_Lean_Parser_Term_andM___closed__1;
-obj* l_Lean_Parser_Term_doSeq___closed__6;
-obj* l_Lean_Parser_Term_id___closed__10;
obj* l_Lean_Parser_Term_app___elambda__1___closed__2;
obj* l_Lean_Parser_Term_sub___closed__3;
obj* l_Lean_Parser_Term_parser_x21___closed__3;
@@ -1144,6 +1170,7 @@ obj* l_Lean_Parser_Term_modN___elambda__1___closed__2;
obj* l_Lean_Parser_Term_fromTerm___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_pow___closed__1;
obj* l_Lean_Parser_Term_emptyC___closed__3;
+obj* l_Lean_Parser_Term_mapRev___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_app___closed__4;
obj* l_Lean_Parser_Term_proj___closed__4;
obj* l_Lean_Parser_Term_sorry___elambda__1___rarg___closed__3;
@@ -1174,6 +1201,7 @@ obj* l_Lean_Parser_Term_sortApp___closed__5;
obj* l_Lean_Parser_Term_explicit___closed__3;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___spec__2(obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_andM___closed__2;
+obj* l_Lean_Parser_Term_letPatDecl___closed__4;
obj* l_Lean_Parser_optionalFn___rarg(obj*, obj*, obj*, obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_append(obj*);
obj* l_Lean_Parser_Term_heq___elambda__1___closed__4;
@@ -1207,12 +1235,14 @@ obj* l_Lean_Parser_Term_explicitBinder(uint8);
obj* l_Lean_Parser_Term_heq___elambda__1___closed__5;
obj* l_Lean_Parser_Term_pow___elambda__1___closed__2;
obj* l_Lean_Parser_Term_band___closed__1;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__3;
obj* l_Lean_Parser_Term_match___closed__8;
obj* l_Lean_Parser_Term_instBinder___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_div___elambda__1___closed__2;
obj* l_Lean_Parser_Term_prod___elambda__1___closed__1;
obj* l_Lean_Parser_Term_uminus___closed__5;
obj* l_Lean_Parser_Term_doId___closed__3;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Term_let___elambda__1___closed__6;
obj* l___regBuiltinParser_Lean_Parser_Term_char___closed__1;
obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
@@ -1246,11 +1276,12 @@ obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__14;
obj* l_Lean_Parser_Term_instBinder;
obj* l___regBuiltinParser_Lean_Parser_Term_arrow(obj*);
obj* l_Lean_Parser_Term_char___closed__1;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_subst___elambda__1___closed__4;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
obj* l_Lean_Parser_Term_div___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_parser_x21___closed__2;
-obj* l_Lean_Parser_Term_explicit___elambda__1___closed__4;
obj* l_Lean_Parser_Term_arrow___elambda__1___closed__3;
obj* l_Lean_Parser_Term_parser_x21;
obj* l_Lean_Parser_Term_mod___closed__1;
@@ -1305,8 +1336,10 @@ obj* l_Lean_Parser_Term_binderDefault___closed__2;
obj* l_Lean_Parser_Term_fromTerm___closed__2;
obj* l_Lean_Parser_Term_binderType___elambda__2___boxed(obj*);
obj* l_Lean_Parser_Term_typeAscription;
+obj* l_Lean_Parser_Term_orM___elambda__1___closed__3;
obj* l_Lean_Parser_Term_mapConst___elambda__1___closed__1;
obj* l_Lean_Parser_Term_binderTactic___elambda__1___rarg(obj*, obj*);
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(uint8, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_append___elambda__1___closed__4;
obj* l_Lean_Parser_Term_mapConstRev___closed__2;
obj* l_Lean_Parser_Term_inaccessible;
@@ -1315,6 +1348,7 @@ obj* l_Lean_Parser_Term_unicodeInfixR___elambda__1(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_leftArrow___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Term_let___elambda__1___closed__1;
obj* l_Lean_Parser_Term_fromTerm___elambda__1___rarg___closed__5;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8;
obj* l_Lean_Parser_Term_matchAlt___closed__1;
obj* l_Lean_Parser_Term_if___closed__6;
obj* l_Lean_Parser_Term_structInstSource___elambda__1___boxed(obj*);
@@ -1340,6 +1374,7 @@ obj* l_Lean_Parser_Term_andM___closed__3;
obj* l_Lean_Parser_Term_show___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Term_iff___elambda__1___closed__2;
obj* l_Lean_Parser_Term_tupleTail___closed__5;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_borrowed___closed__2;
obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_forall___closed__8;
@@ -1351,6 +1386,7 @@ obj* l_Lean_Parser_Term_explicit;
obj* l_Lean_Parser_Term_binderTactic___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Term_letEqns___closed__4;
obj* l_Lean_Parser_Term_doId___elambda__1___rarg___closed__1;
+obj* l_Lean_Parser_Term_orM___elambda__1___closed__2;
obj* l_Lean_Parser_Term_pow___elambda__1___closed__4;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___spec__1___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_append___elambda__1___closed__2;
@@ -1361,12 +1397,12 @@ obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__12;
obj* l_Lean_Parser_Term_structInst___closed__7;
obj* l_Lean_Parser_Term_equation___closed__6;
obj* l_Lean_Parser_Term_bnot___elambda__1(obj*);
-obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_prop___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_subtype___closed__1;
obj* l_Lean_Parser_Term_cdot___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_nomatch___closed__1;
obj* l_Lean_Parser_Term_bnot___closed__5;
+obj* l_Lean_Parser_Term_explicitUniv___closed__7;
obj* l_Lean_Parser_Term_optType___elambda__1___rarg(obj*, obj*);
obj* l_Lean_Parser_Term_map___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_array___closed__1;
@@ -1410,6 +1446,7 @@ obj* l_Lean_Parser_Term_match___elambda__1___closed__9;
obj* l_Lean_Parser_Term_structInstSource___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Term_optType___elambda__1(obj*);
extern obj* l_Lean_Name_toString___closed__1;
+obj* l_Lean_Parser_Term_namedPattern___closed__1;
obj* l_Lean_Parser_Term_fun___elambda__1___closed__9;
obj* l_Lean_Parser_Term_forall___elambda__1___closed__2;
obj* l_Lean_Parser_Term_doPat___closed__7;
@@ -1422,17 +1459,18 @@ uint8 nat_dec_le(obj*, obj*);
obj* l_Lean_Parser_Term_quotedName___closed__5;
obj* l_Lean_Parser_Term_tparser_x21___elambda__1___rarg___closed__7;
obj* l_Lean_Parser_Term_parser_x21___elambda__1___rarg___closed__2;
+obj* l_Lean_Parser_Term_mapRev___elambda__1___closed__4;
obj* l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__1;
obj* l_Lean_Parser_Term_list___elambda__1___closed__9;
obj* l_Lean_Parser_Term_checkIsSort___closed__2;
obj* l_Lean_Parser_Term_sub___elambda__1___closed__4;
obj* l___regBuiltinParser_Lean_Parser_Term_show(obj*);
obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
-obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_id___spec__1(uint8, uint8, obj*, obj*, obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_prod(obj*);
obj* l_Lean_Parser_Term_bracketedDoSeq___closed__2;
obj* l_Lean_Parser_Term_parser_x21___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_char;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__1;
obj* l_Lean_Parser_Term_borrowed___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_array___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_andthen___elambda__1___closed__4;
@@ -1444,8 +1482,10 @@ obj* l_Lean_Parser_Term_show___elambda__1___rarg___closed__5;
obj* l_Lean_Parser_Term_do___closed__5;
obj* l_Lean_Parser_Term_namedArgument___elambda__1___rarg___closed__2;
obj* l_Lean_Parser_Term_structInst___elambda__1___closed__8;
+obj* l_Lean_Parser_Term_mapRev___elambda__1___closed__2;
obj* l_Lean_Parser_Term_le___elambda__1___closed__4;
obj* l_Lean_Parser_Term_modN___elambda__1___closed__4;
+obj* l_Lean_Parser_Term_mapRev___closed__2;
obj* l_Lean_Parser_Term_match___elambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_id___elambda__1___closed__1;
obj* l_Lean_Parser_Term_instBinder___elambda__1___rarg(obj*, obj*);
@@ -1462,7 +1502,6 @@ obj* l_Lean_Parser_Term_bnot___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_gt___closed__2;
obj* l_Lean_Parser_Term_tupleTail___closed__1;
obj* l_Lean_Parser_Term_doExpr___closed__1;
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2;
obj* l_Lean_Parser_Term_leftArrow___elambda__1___rarg___closed__4;
obj* l_Lean_Parser_Term_letIdDecl___closed__3;
obj* l_Lean_Parser_Term_explicitBinder___boxed(obj*);
@@ -1476,14 +1515,18 @@ obj* l_Lean_Parser_Term_letIdLhs___closed__6;
obj* l___regBuiltinParser_Lean_Parser_Term_ge(obj*);
obj* l_Lean_Parser_Term_subtype___closed__10;
obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__13;
+obj* l_Lean_Parser_Term_namedPattern___elambda__1(obj*);
obj* l_Lean_Parser_Term_doPat___closed__4;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1(obj*, uint8, obj*, obj*, obj*);
+obj* l_Lean_Parser_Term_orM___closed__1;
obj* l___regBuiltinParser_Lean_Parser_Term_num(obj*);
obj* l_Lean_Parser_Term_prop;
obj* l_Lean_Parser_Term_mapConstRev___elambda__1___closed__2;
obj* l_Lean_Parser_Term_typeAscription___elambda__1___rarg___closed__3;
+obj* l_Lean_Parser_Term_namedPattern___closed__2;
obj* l_Lean_Parser_Term_prod___elambda__1___closed__4;
obj* l_Lean_Parser_Term_match___closed__4;
+obj* l_Lean_Parser_Term_namedPattern;
obj* l_Lean_Parser_Term_optIdent___closed__1;
obj* l_Lean_Parser_Term_matchAlt;
obj* l_Lean_Parser_Term_bnot___elambda__1___rarg___closed__6;
@@ -1491,7 +1534,6 @@ obj* l_Lean_Parser_Term_cdot___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Term_list___elambda__1___closed__8;
obj* l_Lean_Parser_Term_instBinder___closed__3;
obj* l_Lean_Parser_Term_binderTactic___elambda__1___rarg___closed__2;
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
obj* l_Lean_Parser_Term_or___elambda__1___closed__2;
obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__16;
obj* l_Lean_Parser_Term_le___elambda__1___closed__1;
@@ -1505,6 +1547,7 @@ obj* l___regBuiltinParser_Lean_Parser_Term_mod(obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_emptyC(obj*);
obj* l___regBuiltinParser_Lean_Parser_Term_cons(obj*);
obj* l_Lean_Parser_Term_tparser_x21___elambda__1(obj*);
+obj* l_Lean_Parser_Term_explicitUniv___closed__2;
obj* l_Lean_Parser_Term_le___elambda__1___closed__3;
obj* l_Lean_Parser_Term_nomatch___closed__4;
obj* l_Lean_Parser_Term_haveAssign___elambda__1___boxed(obj*);
@@ -1540,15 +1583,18 @@ obj* l_Lean_Parser_Term_do___closed__1;
obj* l_Lean_Parser_Term_seqLeft___elambda__1___closed__2;
obj* l_Lean_Parser_Term_dollar___closed__3;
obj* l_Lean_Parser_Term_letIdDecl___closed__5;
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7;
obj* l_Lean_Parser_Term_doSeq___closed__2;
obj* l_Lean_Parser_Term_add___closed__3;
obj* l_Lean_Parser_Term_hole___closed__3;
obj* l_Lean_Parser_Term_letIdDecl___closed__2;
obj* l_Lean_Parser_Term_type___elambda__1___rarg___closed__6;
obj* l_Lean_Parser_Term_eq;
+obj* l_Lean_Parser_Term_explicitUniv___closed__5;
obj* l___regBuiltinParser_Lean_Parser_Term_heq(obj*);
obj* l_Lean_Parser_Term_prop___elambda__1(obj*);
obj* l_Lean_Parser_Term_paren___closed__4;
+obj* l_Lean_Parser_Term_mapRev;
obj* l_Lean_Parser_Term_doId___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_let___elambda__1___closed__2;
obj* l_Lean_Parser_Term_structInst___closed__9;
@@ -1571,7 +1617,6 @@ obj* l_Lean_Parser_Term_structInstField;
obj* l_Lean_Parser_Term_seq;
extern obj* l_List_repr___main___rarg___closed__2;
obj* l_Lean_Parser_Term_andthen___closed__3;
-obj* l_Lean_Parser_Term_id___elambda__1___closed__14;
obj* l_Lean_Parser_Term_doId___closed__6;
obj* l_Lean_Parser_Term_binderDefault___elambda__1___boxed(obj*);
obj* l_Lean_Parser_Term_forall___elambda__1___closed__1;
@@ -1590,6 +1635,7 @@ obj* l_Lean_Parser_Term_array___closed__5;
obj* l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
obj* l_Lean_Parser_Term_lt___closed__2;
obj* l_Lean_Parser_Term_let___closed__1;
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
obj* l_Lean_Parser_Term_match___closed__3;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___spec__1(obj*, uint8, obj*, obj*, obj*);
obj* l_Lean_Parser_Term_mapConstRev___closed__3;
@@ -1604,6 +1650,7 @@ obj* l_Lean_Parser_Term_array___elambda__1___closed__1;
obj* l_Lean_Parser_Term_do___closed__3;
obj* l___regBuiltinParser_Lean_Parser_Term_andthen(obj*);
obj* l_Lean_Parser_Term_leftArrow___elambda__1___boxed(obj*);
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__10;
obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__12;
obj* l___regBuiltinParser_Lean_Parser_Term_gt(obj*);
obj* l_Lean_Parser_Term_div;
@@ -1638,7 +1685,6 @@ obj* l_Lean_Parser_Term_binderIdent___closed__1;
obj* l_Lean_Parser_Term_array___elambda__1___closed__3;
obj* l_Lean_Parser_Term_letPatDecl___closed__1;
obj* l_Lean_Parser_Term_emptyC___elambda__1___rarg(obj*, obj*);
-obj* l_Lean_Parser_Term_explicit___elambda__1___closed__7;
obj* l_Lean_Parser_Term_doElem___closed__5;
obj* l_Lean_Parser_Term_structInstSource___elambda__1(obj*);
obj* l_Lean_Parser_ParserState_mkErrorsAt(obj*, obj*, obj*);
@@ -1646,6 +1692,7 @@ obj* l_Lean_Parser_Term_cdot___elambda__1___rarg___closed__3;
obj* l_Lean_Parser_Term_letDecl___elambda__1(obj*, obj*, obj*);
obj* l_Lean_Parser_Term_bor;
obj* l_Lean_Parser_Term_ge;
+obj* l_Lean_Parser_Term_orM___closed__2;
obj* l_Lean_Parser_Term_orelse___elambda__1___closed__2;
obj* l_Lean_Parser_Term_id___closed__1;
obj* l_Lean_Parser_Term_andM___elambda__1___closed__1;
@@ -2121,7 +2168,7 @@ lean::dec(x_1);
return x_3;
}
}
-obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1() {
+obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1() {
_start:
{
obj* x_1; obj* x_2;
@@ -2130,39 +2177,39 @@ x_2 = l_String_trim(x_1);
return x_2;
}
}
-obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2() {
+obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Char_HasRepr___closed__1;
-x_2 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_2 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__3() {
+obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__3() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2;
+x_1 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__2;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4() {
+obj* _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = lean::box(0);
-x_2 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__3;
+x_2 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__3;
x_3 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_3, 0, x_2);
lean::cnstr_set(x_3, 1, x_1);
return x_3;
}
}
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(uint8 x_1, uint8 x_2, obj* x_3, uint8 x_4, obj* x_5, obj* x_6, obj* x_7) {
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(uint8 x_1, uint8 x_2, obj* x_3, uint8 x_4, obj* x_5, obj* x_6, obj* x_7) {
_start:
{
obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14;
@@ -2206,13 +2253,13 @@ obj* x_29; obj* x_30; uint8 x_31;
x_29 = lean::cnstr_get(x_28, 1);
lean::inc(x_29);
lean::dec(x_28);
-x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_31 = lean::string_dec_eq(x_29, x_30);
lean::dec(x_29);
if (x_31 == 0)
{
obj* x_32; obj* x_33;
-x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_17);
x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_32, x_17);
x_18 = x_33;
@@ -2228,7 +2275,7 @@ else
{
obj* x_34; obj* x_35;
lean::dec(x_28);
-x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_17);
x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_34, x_17);
x_18 = x_35;
@@ -2239,7 +2286,7 @@ else
{
obj* x_36; obj* x_37;
lean::dec(x_26);
-x_36 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_36 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_17);
x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_36, x_17);
x_18 = x_37;
@@ -2302,7 +2349,7 @@ return x_44;
}
}
}
-obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
obj* x_6; obj* x_7; uint8 x_8; obj* x_9;
@@ -2311,11 +2358,11 @@ lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = 0;
-x_9 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(x_1, x_2, x_7, x_8, x_3, x_4, x_5);
+x_9 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(x_1, x_2, x_7, x_8, x_3, x_4, x_5);
return x_9;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__1() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__1() {
_start:
{
obj* x_1;
@@ -2323,35 +2370,35 @@ x_1 = lean::mk_string("Term");
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__2() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_declareLeadingBuiltinParser___closed__1;
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__3() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__3() {
_start:
{
obj* x_1;
-x_1 = lean::mk_string("id");
+x_1 = lean::mk_string("explicitUniv");
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__4() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__3;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__3;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__5() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__5() {
_start:
{
obj* x_1;
@@ -2359,16 +2406,16 @@ x_1 = lean::mk_string(".{");
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__6() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6() {
_start:
{
obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__5;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__5;
x_2 = l_String_trim(x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__7() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7() {
_start:
{
obj* x_1;
@@ -2376,79 +2423,720 @@ x_1 = lean::mk_string("}");
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__8() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8() {
_start:
{
obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7;
x_2 = l_String_trim(x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__9() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__10() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__10() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__9;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__11() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__10;
x_3 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_3, 0, x_2);
lean::cnstr_set(x_3, 1, x_1);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__12() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__12() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__13() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__13() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__12;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__14() {
+obj* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__13;
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__13;
x_3 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_3, 0, x_2);
lean::cnstr_set(x_3, 1, x_1);
return x_3;
}
}
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4; obj* x_5; obj* x_6; obj* x_39; obj* x_40; obj* x_41;
+x_4 = lean::cnstr_get(x_3, 0);
+lean::inc(x_4);
+x_5 = lean::array_get_size(x_4);
+lean::dec(x_4);
+x_39 = lean::cnstr_get(x_3, 1);
+lean::inc(x_39);
+lean::inc(x_2);
+x_40 = l_Lean_Parser_tokenFn(x_2, x_3);
+x_41 = lean::cnstr_get(x_40, 3);
+lean::inc(x_41);
+if (lean::obj_tag(x_41) == 0)
+{
+obj* x_42; obj* x_43;
+x_42 = lean::cnstr_get(x_40, 0);
+lean::inc(x_42);
+x_43 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_42);
+lean::dec(x_42);
+if (lean::obj_tag(x_43) == 2)
+{
+obj* x_44; obj* x_45; uint8 x_46;
+x_44 = lean::cnstr_get(x_43, 1);
+lean::inc(x_44);
+lean::dec(x_43);
+x_45 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6;
+x_46 = lean::string_dec_eq(x_44, x_45);
+lean::dec(x_44);
+if (x_46 == 0)
+{
+obj* x_47; obj* x_48;
+x_47 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
+x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_47, x_39);
+x_6 = x_48;
+goto block_38;
+}
+else
+{
+lean::dec(x_39);
+x_6 = x_40;
+goto block_38;
+}
+}
+else
+{
+obj* x_49; obj* x_50;
+lean::dec(x_43);
+x_49 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
+x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_49, x_39);
+x_6 = x_50;
+goto block_38;
+}
+}
+else
+{
+obj* x_51; obj* x_52;
+lean::dec(x_41);
+x_51 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14;
+x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_51, x_39);
+x_6 = x_52;
+goto block_38;
+}
+block_38:
+{
+obj* x_7;
+x_7 = lean::cnstr_get(x_6, 3);
+lean::inc(x_7);
+if (lean::obj_tag(x_7) == 0)
+{
+uint8 x_8; uint8 x_9; obj* x_10; obj* x_11;
+x_8 = 0;
+x_9 = 0;
+lean::inc(x_2);
+x_10 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(x_8, x_9, x_1, x_2, x_6);
+x_11 = lean::cnstr_get(x_10, 3);
+lean::inc(x_11);
+if (lean::obj_tag(x_11) == 0)
+{
+obj* x_12; obj* x_13; obj* x_14;
+x_12 = lean::cnstr_get(x_10, 1);
+lean::inc(x_12);
+x_13 = l_Lean_Parser_tokenFn(x_2, x_10);
+x_14 = lean::cnstr_get(x_13, 3);
+lean::inc(x_14);
+if (lean::obj_tag(x_14) == 0)
+{
+obj* x_15; obj* x_16;
+x_15 = lean::cnstr_get(x_13, 0);
+lean::inc(x_15);
+x_16 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_15);
+lean::dec(x_15);
+if (lean::obj_tag(x_16) == 2)
+{
+obj* x_17; obj* x_18; uint8 x_19;
+x_17 = lean::cnstr_get(x_16, 1);
+lean::inc(x_17);
+lean::dec(x_16);
+x_18 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
+x_19 = lean::string_dec_eq(x_17, x_18);
+lean::dec(x_17);
+if (x_19 == 0)
+{
+obj* x_20; obj* x_21; obj* x_22; obj* x_23;
+x_20 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
+x_21 = l_Lean_Parser_ParserState_mkErrorsAt(x_13, x_20, x_12);
+x_22 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_5);
+return x_23;
+}
+else
+{
+obj* x_24; obj* x_25;
+lean::dec(x_12);
+x_24 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_5);
+return x_25;
+}
+}
+else
+{
+obj* x_26; obj* x_27; obj* x_28; obj* x_29;
+lean::dec(x_16);
+x_26 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
+x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_13, x_26, x_12);
+x_28 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_5);
+return x_29;
+}
+}
+else
+{
+obj* x_30; obj* x_31; obj* x_32; obj* x_33;
+lean::dec(x_14);
+x_30 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
+x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_13, x_30, x_12);
+x_32 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_5);
+return x_33;
+}
+}
+else
+{
+obj* x_34; obj* x_35;
+lean::dec(x_11);
+lean::dec(x_2);
+x_34 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_35 = l_Lean_Parser_ParserState_mkNode(x_10, x_34, x_5);
+return x_35;
+}
+}
+else
+{
+obj* x_36; obj* x_37;
+lean::dec(x_7);
+lean::dec(x_2);
+x_36 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_6, x_36, x_5);
+return x_37;
+}
+}
+}
+}
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+obj* x_6;
+x_6 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(x_1, x_2, x_3, x_4, x_5);
+return x_6;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__1() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = lean::box(0);
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6;
+x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = lean::box(0);
+x_2 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
+x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__3() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__2;
+x_3 = l_Lean_Parser_sepBy1Info(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__4() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = lean::box(0);
+x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
+x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__5() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__3;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__4;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__6() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__1;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__5;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__7() {
+_start:
+{
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__6;
+x_2 = l_Lean_Parser_nodeInfo(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__8() {
+_start:
+{
+obj* x_1;
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_explicitUniv___elambda__1___boxed), 3, 0);
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv___closed__9() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__7;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__8;
+x_3 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_3, 0, x_1);
+lean::cnstr_set(x_3, 1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_explicitUniv() {
+_start:
+{
+obj* x_1;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__9;
+return x_1;
+}
+}
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6, obj* x_7) {
+_start:
+{
+uint8 x_8; uint8 x_9; uint8 x_10; obj* x_11;
+x_8 = lean::unbox(x_1);
+lean::dec(x_1);
+x_9 = lean::unbox(x_2);
+lean::dec(x_2);
+x_10 = lean::unbox(x_4);
+lean::dec(x_4);
+x_11 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(x_8, x_9, x_3, x_10, x_5, x_6, x_7);
+lean::dec(x_5);
+return x_11;
+}
+}
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+uint8 x_6; uint8 x_7; obj* x_8;
+x_6 = lean::unbox(x_1);
+lean::dec(x_1);
+x_7 = lean::unbox(x_2);
+lean::dec(x_2);
+x_8 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(x_6, x_7, x_3, x_4, x_5);
+lean::dec(x_3);
+return x_8;
+}
+}
+obj* l_Lean_Parser_Term_explicitUniv___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4;
+x_4 = l_Lean_Parser_Term_explicitUniv___elambda__1(x_1, x_2, x_3);
+lean::dec(x_1);
+return x_4;
+}
+}
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+uint8 x_6; uint8 x_7; obj* x_8;
+x_6 = lean::unbox(x_1);
+lean::dec(x_1);
+x_7 = lean::unbox(x_2);
+lean::dec(x_2);
+x_8 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___spec__1(x_6, x_7, x_3, x_4, x_5);
+lean::dec(x_3);
+return x_8;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("namedPattern");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__3() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("@");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4() {
+_start:
+{
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__3;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__5() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("no space before '@'");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__6() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4;
+x_3 = lean::string_append(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__7() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__6;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean::string_append(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = lean::box(0);
+x_2 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__7;
+x_3 = lean::alloc_cnstr(1, 2, 0);
+lean::cnstr_set(x_3, 0, x_2);
+lean::cnstr_set(x_3, 1, x_1);
+return x_3;
+}
+}
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___rarg(obj* x_1, obj* x_2) {
+_start:
+{
+obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7;
+x_3 = lean::cnstr_get(x_2, 0);
+lean::inc(x_3);
+x_4 = lean::array_get_size(x_3);
+lean::dec(x_3);
+x_5 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__5;
+x_6 = l_Lean_Parser_checkNoWsBeforeFn(x_5, x_1, x_2);
+x_7 = lean::cnstr_get(x_6, 3);
+lean::inc(x_7);
+if (lean::obj_tag(x_7) == 0)
+{
+obj* x_8; obj* x_9; obj* x_10;
+x_8 = lean::cnstr_get(x_6, 1);
+lean::inc(x_8);
+lean::inc(x_1);
+x_9 = l_Lean_Parser_tokenFn(x_1, x_6);
+x_10 = lean::cnstr_get(x_9, 3);
+lean::inc(x_10);
+if (lean::obj_tag(x_10) == 0)
+{
+obj* x_11; obj* x_12;
+x_11 = lean::cnstr_get(x_9, 0);
+lean::inc(x_11);
+x_12 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_11);
+lean::dec(x_11);
+if (lean::obj_tag(x_12) == 2)
+{
+obj* x_13; obj* x_14; uint8 x_15;
+x_13 = lean::cnstr_get(x_12, 1);
+lean::inc(x_13);
+lean::dec(x_12);
+x_14 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4;
+x_15 = lean::string_dec_eq(x_13, x_14);
+lean::dec(x_13);
+if (x_15 == 0)
+{
+obj* x_16; obj* x_17; obj* x_18;
+x_16 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8;
+x_17 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_16, x_8);
+x_18 = lean::cnstr_get(x_17, 3);
+lean::inc(x_18);
+if (lean::obj_tag(x_18) == 0)
+{
+obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23;
+x_19 = l_Lean_Parser_termParserAttribute;
+x_20 = l_Lean_Parser_appPrec;
+x_21 = l_Lean_Parser_ParserAttribute_runParser(x_19, x_20, x_1, x_17);
+x_22 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_4);
+return x_23;
+}
+else
+{
+obj* x_24; obj* x_25;
+lean::dec(x_18);
+lean::dec(x_1);
+x_24 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_17, x_24, x_4);
+return x_25;
+}
+}
+else
+{
+obj* x_26; obj* x_27; obj* x_28; obj* x_29; obj* x_30;
+lean::dec(x_8);
+x_26 = l_Lean_Parser_termParserAttribute;
+x_27 = l_Lean_Parser_appPrec;
+x_28 = l_Lean_Parser_ParserAttribute_runParser(x_26, x_27, x_1, x_9);
+x_29 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_4);
+return x_30;
+}
+}
+else
+{
+obj* x_31; obj* x_32; obj* x_33;
+lean::dec(x_12);
+x_31 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8;
+x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_31, x_8);
+x_33 = lean::cnstr_get(x_32, 3);
+lean::inc(x_33);
+if (lean::obj_tag(x_33) == 0)
+{
+obj* x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_38;
+x_34 = l_Lean_Parser_termParserAttribute;
+x_35 = l_Lean_Parser_appPrec;
+x_36 = l_Lean_Parser_ParserAttribute_runParser(x_34, x_35, x_1, x_32);
+x_37 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_4);
+return x_38;
+}
+else
+{
+obj* x_39; obj* x_40;
+lean::dec(x_33);
+lean::dec(x_1);
+x_39 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_40 = l_Lean_Parser_ParserState_mkNode(x_32, x_39, x_4);
+return x_40;
+}
+}
+}
+else
+{
+obj* x_41; obj* x_42; obj* x_43;
+lean::dec(x_10);
+x_41 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8;
+x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_41, x_8);
+x_43 = lean::cnstr_get(x_42, 3);
+lean::inc(x_43);
+if (lean::obj_tag(x_43) == 0)
+{
+obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_48;
+x_44 = l_Lean_Parser_termParserAttribute;
+x_45 = l_Lean_Parser_appPrec;
+x_46 = l_Lean_Parser_ParserAttribute_runParser(x_44, x_45, x_1, x_42);
+x_47 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_4);
+return x_48;
+}
+else
+{
+obj* x_49; obj* x_50;
+lean::dec(x_43);
+lean::dec(x_1);
+x_49 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_50 = l_Lean_Parser_ParserState_mkNode(x_42, x_49, x_4);
+return x_50;
+}
+}
+}
+else
+{
+obj* x_51; obj* x_52;
+lean::dec(x_7);
+lean::dec(x_1);
+x_51 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2;
+x_52 = l_Lean_Parser_ParserState_mkNode(x_6, x_51, x_4);
+return x_52;
+}
+}
+}
+obj* l_Lean_Parser_Term_namedPattern___elambda__1(obj* x_1) {
+_start:
+{
+obj* x_2;
+x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_namedPattern___elambda__1___rarg), 2, 0);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___closed__1() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = lean::box(0);
+x_2 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4;
+x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_namedPattern___closed__1;
+x_2 = l_Lean_Parser_Parser_inhabited___closed__1;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___closed__3() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_epsilonInfo;
+x_2 = l_Lean_Parser_Term_namedPattern___closed__2;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___closed__4() {
+_start:
+{
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Term_namedPattern___closed__3;
+x_2 = l_Lean_Parser_nodeInfo(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___closed__5() {
+_start:
+{
+obj* x_1;
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_namedPattern___elambda__1___boxed), 1, 0);
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern___closed__6() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_namedPattern___closed__4;
+x_2 = l_Lean_Parser_Term_namedPattern___closed__5;
+x_3 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_3, 0, x_1);
+lean::cnstr_set(x_3, 1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_namedPattern() {
+_start:
+{
+obj* x_1;
+x_1 = l_Lean_Parser_Term_namedPattern___closed__6;
+return x_1;
+}
+}
+obj* l_Lean_Parser_Term_namedPattern___elambda__1___boxed(obj* x_1) {
+_start:
+{
+obj* x_2;
+x_2 = l_Lean_Parser_Term_namedPattern___elambda__1(x_1);
+lean::dec(x_1);
+return x_2;
+}
+}
+obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("id");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_id___elambda__1___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
obj* l_Lean_Parser_Term_id___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
@@ -2463,7 +3151,7 @@ x_7 = lean::cnstr_get(x_6, 3);
lean::inc(x_7);
if (lean::obj_tag(x_7) == 0)
{
-obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_29; obj* x_50; obj* x_51;
+obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12;
x_8 = lean::cnstr_get(x_6, 0);
lean::inc(x_8);
x_9 = lean::array_get_size(x_8);
@@ -2471,304 +3159,147 @@ lean::dec(x_8);
x_10 = lean::cnstr_get(x_6, 1);
lean::inc(x_10);
lean::inc(x_2);
-x_50 = l_Lean_Parser_tokenFn(x_2, x_6);
-x_51 = lean::cnstr_get(x_50, 3);
-lean::inc(x_51);
-if (lean::obj_tag(x_51) == 0)
-{
-obj* x_52; obj* x_53;
-x_52 = lean::cnstr_get(x_50, 0);
-lean::inc(x_52);
-x_53 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_52);
-lean::dec(x_52);
-if (lean::obj_tag(x_53) == 2)
-{
-obj* x_54; obj* x_55; uint8 x_56;
-x_54 = lean::cnstr_get(x_53, 1);
-lean::inc(x_54);
-lean::dec(x_53);
-x_55 = l_Lean_Parser_Term_id___elambda__1___closed__6;
-x_56 = lean::string_dec_eq(x_54, x_55);
-lean::dec(x_54);
-if (x_56 == 0)
-{
-obj* x_57; obj* x_58;
-x_57 = l_Lean_Parser_Term_id___elambda__1___closed__14;
-lean::inc(x_10);
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_57, x_10);
-x_29 = x_58;
-goto block_49;
-}
-else
-{
-x_29 = x_50;
-goto block_49;
-}
-}
-else
-{
-obj* x_59; obj* x_60;
-lean::dec(x_53);
-x_59 = l_Lean_Parser_Term_id___elambda__1___closed__14;
-lean::inc(x_10);
-x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_59, x_10);
-x_29 = x_60;
-goto block_49;
-}
-}
-else
-{
-obj* x_61; obj* x_62;
-lean::dec(x_51);
-x_61 = l_Lean_Parser_Term_id___elambda__1___closed__14;
-lean::inc(x_10);
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_61, x_10);
-x_29 = x_62;
-goto block_49;
-}
-block_28:
-{
-obj* x_12;
+x_11 = l_Lean_Parser_Term_explicitUniv___elambda__1(x_1, x_2, x_6);
x_12 = lean::cnstr_get(x_11, 3);
lean::inc(x_12);
if (lean::obj_tag(x_12) == 0)
{
obj* x_13; obj* x_14; obj* x_15; obj* x_16;
lean::dec(x_10);
+lean::dec(x_2);
x_13 = l_Lean_nullKind;
x_14 = l_Lean_Parser_ParserState_mkNode(x_11, x_13, x_9);
-x_15 = l_Lean_Parser_Term_id___elambda__1___closed__4;
+x_15 = l_Lean_Parser_Term_id___elambda__1___closed__2;
x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_5);
return x_16;
}
else
{
-obj* x_17; uint8 x_18;
-lean::dec(x_12);
-x_17 = lean::cnstr_get(x_11, 1);
+obj* x_17; obj* x_18; uint8 x_19;
+x_17 = lean::cnstr_get(x_12, 0);
lean::inc(x_17);
-x_18 = lean::nat_dec_eq(x_17, x_10);
-lean::dec(x_17);
-if (x_18 == 0)
+lean::dec(x_12);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_18, x_10);
+lean::dec(x_18);
+if (x_19 == 0)
{
-obj* x_19; obj* x_20; obj* x_21; obj* x_22;
+obj* x_20; obj* x_21; obj* x_22; obj* x_23;
+lean::dec(x_17);
lean::dec(x_10);
-x_19 = l_Lean_nullKind;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_11, x_19, x_9);
-x_21 = l_Lean_Parser_Term_id___elambda__1___closed__4;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_5);
-return x_22;
+lean::dec(x_2);
+x_20 = l_Lean_nullKind;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_11, x_20, x_9);
+x_22 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_5);
+return x_23;
}
else
{
-obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27;
-x_23 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_9);
-x_26 = l_Lean_Parser_Term_id___elambda__1___closed__4;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5);
-return x_27;
+obj* x_24; obj* x_25; obj* x_26; obj* x_27;
+lean::inc(x_10);
+x_24 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
+x_25 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg(x_2, x_24);
+x_26 = l_Lean_Parser_mergeOrElseErrors(x_25, x_17, x_10);
+x_27 = lean::cnstr_get(x_26, 3);
+lean::inc(x_27);
+if (lean::obj_tag(x_27) == 0)
+{
+obj* x_28; obj* x_29; obj* x_30; obj* x_31;
+lean::dec(x_10);
+x_28 = l_Lean_nullKind;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_26, x_28, x_9);
+x_30 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_5);
+return x_31;
+}
+else
+{
+obj* x_32; uint8 x_33;
+lean::dec(x_27);
+x_32 = lean::cnstr_get(x_26, 1);
+lean::inc(x_32);
+x_33 = lean::nat_dec_eq(x_32, x_10);
+lean::dec(x_32);
+if (x_33 == 0)
+{
+obj* x_34; obj* x_35; obj* x_36; obj* x_37;
+lean::dec(x_10);
+x_34 = l_Lean_nullKind;
+x_35 = l_Lean_Parser_ParserState_mkNode(x_26, x_34, x_9);
+x_36 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_5);
+return x_37;
+}
+else
+{
+obj* x_38; obj* x_39; obj* x_40; obj* x_41; obj* x_42;
+x_38 = l_Lean_Parser_ParserState_restore(x_26, x_9, x_10);
+x_39 = l_Lean_nullKind;
+x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_9);
+x_41 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_5);
+return x_42;
}
}
}
-block_49:
-{
-obj* x_30;
-x_30 = lean::cnstr_get(x_29, 3);
-lean::inc(x_30);
-if (lean::obj_tag(x_30) == 0)
-{
-uint8 x_31; uint8 x_32; obj* x_33; obj* x_34;
-x_31 = 0;
-x_32 = 0;
-lean::inc(x_2);
-x_33 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(x_31, x_32, x_1, x_2, x_29);
-x_34 = lean::cnstr_get(x_33, 3);
-lean::inc(x_34);
-if (lean::obj_tag(x_34) == 0)
-{
-obj* x_35; obj* x_36; obj* x_37;
-x_35 = lean::cnstr_get(x_33, 1);
-lean::inc(x_35);
-x_36 = l_Lean_Parser_tokenFn(x_2, x_33);
-x_37 = lean::cnstr_get(x_36, 3);
-lean::inc(x_37);
-if (lean::obj_tag(x_37) == 0)
-{
-obj* x_38; obj* x_39;
-x_38 = lean::cnstr_get(x_36, 0);
-lean::inc(x_38);
-x_39 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_38);
-lean::dec(x_38);
-if (lean::obj_tag(x_39) == 2)
-{
-obj* x_40; obj* x_41; uint8 x_42;
-x_40 = lean::cnstr_get(x_39, 1);
-lean::inc(x_40);
-lean::dec(x_39);
-x_41 = l_Lean_Parser_Term_id___elambda__1___closed__8;
-x_42 = lean::string_dec_eq(x_40, x_41);
-lean::dec(x_40);
-if (x_42 == 0)
+}
+}
+else
{
obj* x_43; obj* x_44;
-x_43 = l_Lean_Parser_Term_id___elambda__1___closed__11;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_43, x_35);
-x_11 = x_44;
-goto block_28;
-}
-else
-{
-lean::dec(x_35);
-x_11 = x_36;
-goto block_28;
-}
-}
-else
-{
-obj* x_45; obj* x_46;
-lean::dec(x_39);
-x_45 = l_Lean_Parser_Term_id___elambda__1___closed__11;
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_45, x_35);
-x_11 = x_46;
-goto block_28;
-}
-}
-else
-{
-obj* x_47; obj* x_48;
-lean::dec(x_37);
-x_47 = l_Lean_Parser_Term_id___elambda__1___closed__11;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_47, x_35);
-x_11 = x_48;
-goto block_28;
-}
-}
-else
-{
-lean::dec(x_34);
-lean::dec(x_2);
-x_11 = x_33;
-goto block_28;
-}
-}
-else
-{
-lean::dec(x_30);
-lean::dec(x_2);
-x_11 = x_29;
-goto block_28;
-}
-}
-}
-else
-{
-obj* x_63; obj* x_64;
lean::dec(x_7);
lean::dec(x_2);
-x_63 = l_Lean_Parser_Term_id___elambda__1___closed__4;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_6, x_63, x_5);
-return x_64;
+x_43 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_6, x_43, x_5);
+return x_44;
}
}
}
-obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_id___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
-_start:
-{
-obj* x_6;
-x_6 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(x_1, x_2, x_3, x_4, x_5);
-return x_6;
-}
-}
obj* _init_l_Lean_Parser_Term_id___closed__1() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__6;
-x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
-return x_3;
+obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5;
+x_1 = l_Lean_Parser_Term_explicitUniv;
+x_2 = lean::cnstr_get(x_1, 0);
+lean::inc(x_2);
+x_3 = l_Lean_Parser_Term_namedPattern;
+x_4 = lean::cnstr_get(x_3, 0);
+lean::inc(x_4);
+x_5 = l_Lean_Parser_orelseInfo(x_2, x_4);
+return x_5;
}
}
obj* _init_l_Lean_Parser_Term_id___closed__2() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
-x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
-return x_3;
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Term_id___closed__1;
+x_2 = l_Lean_Parser_optionaInfo(x_1);
+return x_2;
}
}
obj* _init_l_Lean_Parser_Term_id___closed__3() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
+x_1 = l_Lean_Parser_ident___closed__1;
x_2 = l_Lean_Parser_Term_id___closed__2;
-x_3 = l_Lean_Parser_sepBy1Info(x_1, x_2);
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
}
obj* _init_l_Lean_Parser_Term_id___closed__4() {
_start:
{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_id___elambda__1___closed__8;
-x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_id___closed__5() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
+obj* x_1; obj* x_2;
x_1 = l_Lean_Parser_Term_id___closed__3;
-x_2 = l_Lean_Parser_Term_id___closed__4;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_id___closed__6() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__5;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_id___closed__7() {
-_start:
-{
-obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_id___closed__6;
-x_2 = l_Lean_Parser_optionaInfo(x_1);
-return x_2;
-}
-}
-obj* _init_l_Lean_Parser_Term_id___closed__8() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_ident___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__7;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_id___closed__9() {
-_start:
-{
-obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_id___closed__8;
x_2 = l_Lean_Parser_nodeInfo(x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Term_id___closed__10() {
+obj* _init_l_Lean_Parser_Term_id___closed__5() {
_start:
{
obj* x_1;
@@ -2776,12 +3307,12 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_id___elambd
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_id___closed__11() {
+obj* _init_l_Lean_Parser_Term_id___closed__6() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___closed__9;
-x_2 = l_Lean_Parser_Term_id___closed__10;
+x_1 = l_Lean_Parser_Term_id___closed__4;
+x_2 = l_Lean_Parser_Term_id___closed__5;
x_3 = lean::alloc_cnstr(0, 2, 0);
lean::cnstr_set(x_3, 0, x_1);
lean::cnstr_set(x_3, 1, x_2);
@@ -2792,38 +3323,10 @@ obj* _init_l_Lean_Parser_Term_id() {
_start:
{
obj* x_1;
-x_1 = l_Lean_Parser_Term_id___closed__11;
+x_1 = l_Lean_Parser_Term_id___closed__6;
return x_1;
}
}
-obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6, obj* x_7) {
-_start:
-{
-uint8 x_8; uint8 x_9; uint8 x_10; obj* x_11;
-x_8 = lean::unbox(x_1);
-lean::dec(x_1);
-x_9 = lean::unbox(x_2);
-lean::dec(x_2);
-x_10 = lean::unbox(x_4);
-lean::dec(x_4);
-x_11 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(x_8, x_9, x_3, x_10, x_5, x_6, x_7);
-lean::dec(x_5);
-return x_11;
-}
-}
-obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
-_start:
-{
-uint8 x_6; uint8 x_7; obj* x_8;
-x_6 = lean::unbox(x_1);
-lean::dec(x_1);
-x_7 = lean::unbox(x_2);
-lean::dec(x_2);
-x_8 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(x_6, x_7, x_3, x_4, x_5);
-lean::dec(x_3);
-return x_8;
-}
-}
obj* l_Lean_Parser_Term_id___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
@@ -2833,25 +3336,12 @@ lean::dec(x_1);
return x_4;
}
}
-obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_id___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
-_start:
-{
-uint8 x_6; uint8 x_7; obj* x_8;
-x_6 = lean::unbox(x_1);
-lean::dec(x_1);
-x_7 = lean::unbox(x_2);
-lean::dec(x_2);
-x_8 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_id___spec__1(x_6, x_7, x_3, x_4, x_5);
-lean::dec(x_3);
-return x_8;
-}
-}
obj* l___regBuiltinParser_Lean_Parser_Term_id(obj* x_1) {
_start:
{
obj* x_2; obj* x_3; obj* x_4; obj* x_5;
x_2 = l_Lean_Parser_builtinTermParsingTable;
-x_3 = l_Lean_Parser_Term_id___elambda__1___closed__4;
+x_3 = l_Lean_Parser_Term_id___elambda__1___closed__2;
x_4 = l_Lean_Parser_Term_id;
x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1);
return x_5;
@@ -2914,7 +3404,7 @@ obj* _init_l___regBuiltinParser_Lean_Parser_Term_num___closed__1() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l___regBuiltinParser_Lean_Parser_Level_num___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -2996,7 +3486,7 @@ obj* _init_l___regBuiltinParser_Lean_Parser_Term_str___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l___regBuiltinParser_Lean_Parser_Term_str___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -3078,7 +3568,7 @@ obj* _init_l___regBuiltinParser_Lean_Parser_Term_char___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l___regBuiltinParser_Lean_Parser_Term_char___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -3107,7 +3597,7 @@ obj* _init_l_Lean_Parser_Term_type___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_type___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -3319,7 +3809,7 @@ obj* _init_l_Lean_Parser_Term_sort___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_sort___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -3531,7 +4021,7 @@ obj* _init_l_Lean_Parser_Term_prop___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_prop___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -3735,7 +4225,7 @@ obj* _init_l_Lean_Parser_Term_hole___elambda__1___rarg___closed__1() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Level_hole___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -3898,7 +4388,7 @@ obj* _init_l_Lean_Parser_Term_sorry___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_sorry___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -4102,7 +4592,7 @@ obj* _init_l_Lean_Parser_Term_cdot___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_cdot___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -4314,7 +4804,7 @@ obj* _init_l_Lean_Parser_Term_emptyC___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_emptyC___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -4526,7 +5016,7 @@ obj* _init_l_Lean_Parser_Term_typeAscription___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -4790,13 +5280,13 @@ obj* x_29; obj* x_30; uint8 x_31;
x_29 = lean::cnstr_get(x_28, 1);
lean::inc(x_29);
lean::dec(x_28);
-x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_31 = lean::string_dec_eq(x_29, x_30);
lean::dec(x_29);
if (x_31 == 0)
{
obj* x_32; obj* x_33;
-x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_17);
x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_32, x_17);
x_18 = x_33;
@@ -4812,7 +5302,7 @@ else
{
obj* x_34; obj* x_35;
lean::dec(x_28);
-x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_17);
x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_34, x_17);
x_18 = x_35;
@@ -4823,7 +5313,7 @@ else
{
obj* x_36; obj* x_37;
lean::dec(x_26);
-x_36 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_36 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_17);
x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_36, x_17);
x_18 = x_37;
@@ -4911,7 +5401,7 @@ obj* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -4944,13 +5434,13 @@ obj* x_21; obj* x_22; uint8 x_23;
x_21 = lean::cnstr_get(x_20, 1);
lean::inc(x_21);
lean::dec(x_20);
-x_22 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_22 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_23 = lean::string_dec_eq(x_21, x_22);
lean::dec(x_21);
if (x_23 == 0)
{
obj* x_24; obj* x_25;
-x_24 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_24 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
x_6 = x_25;
goto block_15;
@@ -4966,7 +5456,7 @@ else
{
obj* x_26; obj* x_27;
lean::dec(x_20);
-x_26 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_26 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_26, x_16);
x_6 = x_27;
goto block_15;
@@ -4976,7 +5466,7 @@ else
{
obj* x_28; obj* x_29;
lean::dec(x_18);
-x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_28, x_16);
x_6 = x_29;
goto block_15;
@@ -5021,7 +5511,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__2;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_3 = l_Lean_Parser_sepBy1Info(x_1, x_2);
return x_3;
}
@@ -5030,7 +5520,7 @@ obj* _init_l_Lean_Parser_Term_tupleTail___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_2 = l_Lean_Parser_Term_tupleTail___closed__1;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -5276,7 +5766,7 @@ obj* _init_l_Lean_Parser_Term_paren___elambda__1___closed__1() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__3;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -5652,7 +6142,7 @@ obj* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -5927,7 +6417,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__2;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_3 = l_Lean_Parser_sepByInfo(x_1, x_2);
return x_3;
}
@@ -6292,7 +6782,7 @@ obj* _init_l_Lean_Parser_Term_if___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_if___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -6939,7 +7429,7 @@ obj* _init_l_Lean_Parser_Term_fromTerm___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_fromTerm___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -7171,7 +7661,7 @@ obj* _init_l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -7395,7 +7885,7 @@ obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -7421,26 +7911,28 @@ return x_2;
obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__5() {
_start:
{
-obj* x_1;
-x_1 = lean::mk_string("; ");
-return x_1;
+obj* x_1; obj* x_2;
+x_1 = l_Lean_Parser_Error_toString___closed__2;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__6() {
_start:
{
-obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__5;
-x_2 = l_String_trim(x_1);
-return x_2;
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__5;
+x_3 = lean::string_append(x_1, x_2);
+return x_3;
}
}
obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__7() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
+x_1 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
+x_2 = l_Char_HasRepr___closed__1;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
@@ -7449,25 +7941,15 @@ obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__8() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean::string_append(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__9() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
+x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__7;
x_3 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_3, 0, x_2);
lean::cnstr_set(x_3, 1, x_1);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__10() {
+obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__9() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
@@ -7477,22 +7959,22 @@ x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__11() {
+obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__10() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__10;
+x_1 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean::string_append(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__12() {
+obj* _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__11() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__11;
+x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__10;
x_3 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_3, 0, x_2);
lean::cnstr_set(x_3, 1, x_1);
@@ -7532,7 +8014,7 @@ lean::dec(x_84);
if (x_86 == 0)
{
obj* x_87; obj* x_88;
-x_87 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__12;
+x_87 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__11;
x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_87, x_79);
x_53 = x_88;
goto block_78;
@@ -7548,7 +8030,7 @@ else
{
obj* x_89; obj* x_90;
lean::dec(x_83);
-x_89 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__12;
+x_89 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__11;
x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_89, x_79);
x_53 = x_90;
goto block_78;
@@ -7558,7 +8040,7 @@ else
{
obj* x_91; obj* x_92;
lean::dec(x_81);
-x_91 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__12;
+x_91 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__11;
x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_91, x_79);
x_53 = x_92;
goto block_78;
@@ -7590,13 +8072,13 @@ obj* x_12; obj* x_13; uint8 x_14;
x_12 = lean::cnstr_get(x_11, 1);
lean::inc(x_12);
lean::dec(x_11);
-x_13 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
+x_13 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__5;
x_14 = lean::string_dec_eq(x_12, x_13);
lean::dec(x_12);
if (x_14 == 0)
{
obj* x_15; obj* x_16; obj* x_17;
-x_15 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_15 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_16 = l_Lean_Parser_ParserState_mkErrorsAt(x_8, x_15, x_7);
x_17 = lean::cnstr_get(x_16, 3);
lean::inc(x_17);
@@ -7636,7 +8118,7 @@ else
{
obj* x_30; obj* x_31; obj* x_32;
lean::dec(x_11);
-x_30 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_30 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_8, x_30, x_7);
x_32 = lean::cnstr_get(x_31, 3);
lean::inc(x_32);
@@ -7665,7 +8147,7 @@ else
{
obj* x_40; obj* x_41; obj* x_42;
lean::dec(x_9);
-x_40 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_40 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_8, x_40, x_7);
x_42 = lean::cnstr_get(x_41, 3);
lean::inc(x_42);
@@ -7843,7 +8325,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
+x_2 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__5;
x_3 = l_Lean_Parser_symbolInfo(x_2, x_1);
return x_3;
}
@@ -7969,7 +8451,7 @@ obj* _init_l_Lean_Parser_Term_suffices___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_suffices___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -8138,13 +8620,13 @@ obj* x_20; obj* x_21; uint8 x_22;
x_20 = lean::cnstr_get(x_19, 1);
lean::inc(x_20);
lean::dec(x_19);
-x_21 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
+x_21 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__5;
x_22 = lean::string_dec_eq(x_20, x_21);
lean::dec(x_20);
if (x_22 == 0)
{
obj* x_23; obj* x_24; obj* x_25;
-x_23 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_23 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_23, x_15);
x_25 = lean::cnstr_get(x_24, 3);
lean::inc(x_25);
@@ -8180,7 +8662,7 @@ else
{
obj* x_34; obj* x_35; obj* x_36;
lean::dec(x_19);
-x_34 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_34 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_34, x_15);
x_36 = lean::cnstr_get(x_35, 3);
lean::inc(x_36);
@@ -8207,7 +8689,7 @@ else
{
obj* x_42; obj* x_43; obj* x_44;
lean::dec(x_17);
-x_42 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_42 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_42, x_15);
x_44 = lean::cnstr_get(x_43, 3);
lean::inc(x_44);
@@ -8403,7 +8885,7 @@ obj* _init_l_Lean_Parser_Term_show___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_show___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -8704,12 +9186,26 @@ return x_16;
}
else
{
-obj* x_17;
+obj* x_17; uint8 x_18;
lean::dec(x_11);
lean::dec(x_3);
-x_17 = l_Lean_Parser_ParserState_restore(x_10, x_6, x_7);
+x_17 = lean::cnstr_get(x_10, 1);
+lean::inc(x_17);
+x_18 = lean::nat_dec_eq(x_7, x_17);
+lean::dec(x_17);
+if (x_18 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_17;
+return x_10;
+}
+else
+{
+obj* x_19;
+x_19 = l_Lean_Parser_ParserState_restore(x_10, x_6, x_7);
+lean::dec(x_6);
+return x_19;
+}
}
}
}
@@ -8725,7 +9221,7 @@ obj* _init_l_Lean_Parser_Term_fun___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -9163,7 +9659,7 @@ obj* _init_l_Lean_Parser_Term_structInstField___elambda__1___rarg___closed__2()
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_structInstField___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -9390,7 +9886,7 @@ obj* _init_l_Lean_Parser_Term_structInstSource___elambda__1___rarg___closed__2()
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_structInstSource___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -9743,13 +10239,13 @@ obj* x_27; obj* x_28; uint8 x_29;
x_27 = lean::cnstr_get(x_26, 1);
lean::inc(x_27);
lean::dec(x_26);
-x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_28 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_29 = lean::string_dec_eq(x_27, x_28);
lean::dec(x_27);
if (x_29 == 0)
{
obj* x_30; obj* x_31;
-x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_30 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
x_16 = x_31;
@@ -9765,7 +10261,7 @@ else
{
obj* x_32; obj* x_33;
lean::dec(x_26);
-x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_32 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
x_16 = x_33;
@@ -9776,7 +10272,7 @@ else
{
obj* x_34; obj* x_35;
lean::dec(x_24);
-x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_34 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
lean::inc(x_15);
x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
x_16 = x_35;
@@ -9865,7 +10361,7 @@ obj* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -10068,13 +10564,13 @@ obj* x_17; obj* x_18; uint8 x_19;
x_17 = lean::cnstr_get(x_16, 1);
lean::inc(x_17);
lean::dec(x_16);
-x_18 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_18 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_19 = lean::string_dec_eq(x_17, x_18);
lean::dec(x_17);
if (x_19 == 0)
{
obj* x_20; obj* x_21; obj* x_22; obj* x_23;
-x_20 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_20 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_21 = l_Lean_Parser_ParserState_mkErrorsAt(x_13, x_20, x_12);
x_22 = l_Lean_Parser_Term_structInst___elambda__1___closed__2;
x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_5);
@@ -10093,7 +10589,7 @@ else
{
obj* x_26; obj* x_27; obj* x_28; obj* x_29;
lean::dec(x_16);
-x_26 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_26 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_13, x_26, x_12);
x_28 = l_Lean_Parser_Term_structInst___elambda__1___closed__2;
x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_5);
@@ -10104,7 +10600,7 @@ else
{
obj* x_30; obj* x_31; obj* x_32; obj* x_33;
lean::dec(x_14);
-x_30 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_30 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_13, x_30, x_12);
x_32 = l_Lean_Parser_Term_structInst___elambda__1___closed__2;
x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_5);
@@ -10386,7 +10882,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Term_structInst___closed__5;
-x_2 = l_Lean_Parser_Term_id___closed__2;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_3 = l_Lean_Parser_sepByInfo(x_1, x_2);
return x_3;
}
@@ -10396,7 +10892,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Term_structInst___closed__6;
-x_2 = l_Lean_Parser_Term_id___closed__4;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__4;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -10531,7 +11027,7 @@ obj* _init_l_Lean_Parser_Term_typeSpec___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_typeSpec___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -10789,7 +11285,7 @@ obj* _init_l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -10943,13 +11439,13 @@ obj* x_16; obj* x_17; uint8 x_18;
x_16 = lean::cnstr_get(x_15, 1);
lean::inc(x_16);
lean::dec(x_15);
-x_17 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_17 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_18 = lean::string_dec_eq(x_16, x_17);
lean::dec(x_16);
if (x_18 == 0)
{
obj* x_19; obj* x_20; obj* x_21; obj* x_22;
-x_19 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_19 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
x_21 = l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__2;
x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_4);
@@ -10968,7 +11464,7 @@ else
{
obj* x_25; obj* x_26; obj* x_27; obj* x_28;
lean::dec(x_15);
-x_25 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_25 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
x_27 = l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__2;
x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_4);
@@ -10979,7 +11475,7 @@ else
{
obj* x_29; obj* x_30; obj* x_31; obj* x_32;
lean::dec(x_13);
-x_29 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_29 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
x_31 = l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__2;
x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_4);
@@ -11150,7 +11646,7 @@ _start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
-x_2 = l_Lean_Parser_Term_id___closed__4;
+x_2 = l_Lean_Parser_Term_explicitUniv___closed__4;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -11460,7 +11956,7 @@ obj* _init_l_Lean_Parser_Term_list___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_list___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -11890,61 +12386,12 @@ obj* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__3() {
-_start:
-{
-obj* x_1;
-x_1 = lean::mk_string("@");
-return x_1;
-}
-}
-obj* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__4() {
-_start:
-{
-obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__3;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-obj* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__5() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__4;
-x_3 = lean::string_append(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__6() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean::string_append(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__7() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = lean::box(0);
-x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
-x_3 = lean::alloc_cnstr(1, 2, 0);
-lean::cnstr_set(x_3, 0, x_2);
-lean::cnstr_set(x_3, 1, x_1);
-return x_3;
-}
-}
obj* l_Lean_Parser_Term_explicit___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
@@ -11972,13 +12419,13 @@ obj* x_19; obj* x_20; uint8 x_21;
x_19 = lean::cnstr_get(x_18, 1);
lean::inc(x_19);
lean::dec(x_18);
-x_20 = l_Lean_Parser_Term_explicit___elambda__1___closed__4;
+x_20 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4;
x_21 = lean::string_dec_eq(x_19, x_20);
lean::dec(x_19);
if (x_21 == 0)
{
obj* x_22; obj* x_23;
-x_22 = l_Lean_Parser_Term_explicit___elambda__1___closed__7;
+x_22 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8;
x_23 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_22, x_14);
x_6 = x_23;
goto block_13;
@@ -11994,7 +12441,7 @@ else
{
obj* x_24; obj* x_25;
lean::dec(x_18);
-x_24 = l_Lean_Parser_Term_explicit___elambda__1___closed__7;
+x_24 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8;
x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_24, x_14);
x_6 = x_25;
goto block_13;
@@ -12004,7 +12451,7 @@ else
{
obj* x_26; obj* x_27;
lean::dec(x_16);
-x_26 = l_Lean_Parser_Term_explicit___elambda__1___closed__7;
+x_26 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8;
x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_26, x_14);
x_6 = x_27;
goto block_13;
@@ -12038,7 +12485,7 @@ obj* _init_l_Lean_Parser_Term_explicit___closed__1() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__4;
+x_1 = l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4;
x_2 = l_Lean_Parser_Level_paren___closed__1;
x_3 = l_Lean_Parser_symbolInfo(x_1, x_2);
return x_3;
@@ -12125,7 +12572,7 @@ obj* _init_l_Lean_Parser_Term_inaccessible___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_inaccessible___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -12910,7 +13357,7 @@ obj* _init_l_Lean_Parser_Term_binderDefault___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_binderDefault___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -13064,7 +13511,7 @@ obj* _init_l_Lean_Parser_Term_binderTactic___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_binderTactic___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -13237,7 +13684,7 @@ obj* _init_l_Lean_Parser_Term_explicitBinder___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -13428,7 +13875,7 @@ obj* _init_l_Lean_Parser_Term_implicitBinder___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -13462,7 +13909,7 @@ obj* _init_l_Lean_Parser_Term_implicitBinder___closed__2() {
_start:
{
obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1);
lean::closure_set(x_2, 0, x_1);
return x_2;
@@ -13478,7 +13925,7 @@ lean::inc(x_3);
x_4 = l_Lean_Parser_Term_binderType(x_1);
x_5 = lean::cnstr_get(x_4, 0);
lean::inc(x_5);
-x_6 = l_Lean_Parser_Term_id___closed__4;
+x_6 = l_Lean_Parser_Term_explicitUniv___closed__4;
x_7 = l_Lean_Parser_andthenInfo(x_5, x_6);
x_8 = lean::cnstr_get(x_4, 1);
lean::inc(x_8);
@@ -13529,7 +13976,7 @@ obj* _init_l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -13926,7 +14373,7 @@ obj* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -14250,12 +14697,26 @@ return x_14;
}
else
{
-obj* x_15;
+obj* x_15; uint8 x_16;
lean::dec(x_9);
lean::dec(x_3);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_15 = lean::cnstr_get(x_8, 1);
+lean::inc(x_15);
+x_16 = lean::nat_dec_eq(x_7, x_15);
+lean::dec(x_15);
+if (x_16 == 0)
+{
+lean::dec(x_7);
lean::dec(x_6);
-return x_15;
+return x_8;
+}
+else
+{
+obj* x_17;
+x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_6);
+return x_17;
+}
}
}
}
@@ -14271,7 +14732,7 @@ obj* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -14386,7 +14847,7 @@ return x_2;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(uint8 x_1, obj* x_2, obj* x_3, obj* x_4) {
_start:
{
-obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11;
+obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_21; obj* x_22;
x_5 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
x_6 = lean::cnstr_get(x_5, 1);
lean::inc(x_6);
@@ -14397,14 +14858,54 @@ lean::dec(x_7);
x_9 = lean::cnstr_get(x_4, 1);
lean::inc(x_9);
lean::inc(x_3);
-x_10 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_2, x_3, x_4);
+x_21 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_2, x_3, x_4);
+x_22 = lean::cnstr_get(x_21, 3);
+lean::inc(x_22);
+if (lean::obj_tag(x_22) == 0)
+{
+lean::dec(x_6);
+x_10 = x_21;
+goto block_20;
+}
+else
+{
+obj* x_23; obj* x_24; uint8 x_25;
+x_23 = lean::cnstr_get(x_22, 0);
+lean::inc(x_23);
+lean::dec(x_22);
+x_24 = lean::cnstr_get(x_21, 1);
+lean::inc(x_24);
+x_25 = lean::nat_dec_eq(x_24, x_9);
+lean::dec(x_24);
+if (x_25 == 0)
+{
+lean::dec(x_23);
+lean::dec(x_6);
+x_10 = x_21;
+goto block_20;
+}
+else
+{
+obj* x_26; obj* x_27; obj* x_28;
+lean::inc(x_9);
+x_26 = l_Lean_Parser_ParserState_restore(x_21, x_8, x_9);
+lean::inc(x_3);
+lean::inc(x_2);
+x_27 = lean::apply_3(x_6, x_2, x_3, x_26);
+x_28 = l_Lean_Parser_mergeOrElseErrors(x_27, x_23, x_9);
+x_10 = x_28;
+goto block_20;
+}
+}
+block_20:
+{
+obj* x_11;
x_11 = lean::cnstr_get(x_10, 3);
lean::inc(x_11);
if (lean::obj_tag(x_11) == 0)
{
obj* x_12; uint8 x_13;
lean::dec(x_8);
-lean::dec(x_6);
x_12 = lean::cnstr_get(x_10, 1);
lean::inc(x_12);
x_13 = lean::nat_dec_eq(x_9, x_12);
@@ -14427,69 +14928,26 @@ return x_16;
}
else
{
-obj* x_17; obj* x_18; uint8 x_19;
-x_17 = lean::cnstr_get(x_11, 0);
-lean::inc(x_17);
+obj* x_17; uint8 x_18;
lean::dec(x_11);
-x_18 = lean::cnstr_get(x_10, 1);
-lean::inc(x_18);
-x_19 = lean::nat_dec_eq(x_18, x_9);
-lean::dec(x_18);
-if (x_19 == 0)
-{
-obj* x_20;
+lean::dec(x_3);
+lean::dec(x_2);
+x_17 = lean::cnstr_get(x_10, 1);
+lean::inc(x_17);
+x_18 = lean::nat_dec_eq(x_9, x_17);
lean::dec(x_17);
-lean::dec(x_6);
-lean::dec(x_3);
-lean::dec(x_2);
-x_20 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean::dec(x_8);
-return x_20;
-}
-else
+if (x_18 == 0)
{
-obj* x_21; obj* x_22; obj* x_23; obj* x_24;
-lean::inc(x_9);
-x_21 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean::inc(x_3);
-lean::inc(x_2);
-x_22 = lean::apply_3(x_6, x_2, x_3, x_21);
-x_23 = l_Lean_Parser_mergeOrElseErrors(x_22, x_17, x_9);
-x_24 = lean::cnstr_get(x_23, 3);
-lean::inc(x_24);
-if (lean::obj_tag(x_24) == 0)
-{
-obj* x_25; uint8 x_26;
-lean::dec(x_8);
-x_25 = lean::cnstr_get(x_23, 1);
-lean::inc(x_25);
-x_26 = lean::nat_dec_eq(x_9, x_25);
-lean::dec(x_25);
lean::dec(x_9);
-if (x_26 == 0)
-{
-x_4 = x_23;
-goto _start;
-}
-else
-{
-obj* x_28; obj* x_29;
-lean::dec(x_3);
-lean::dec(x_2);
-x_28 = l_Lean_Parser_manyAux___main___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkUnexpectedError(x_23, x_28);
-return x_29;
-}
-}
-else
-{
-obj* x_30;
-lean::dec(x_24);
-lean::dec(x_3);
-lean::dec(x_2);
-x_30 = l_Lean_Parser_ParserState_restore(x_23, x_8, x_9);
lean::dec(x_8);
-return x_30;
+return x_10;
+}
+else
+{
+obj* x_19;
+x_19 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
+lean::dec(x_8);
+return x_19;
}
}
}
@@ -14507,7 +14965,7 @@ obj* _init_l_Lean_Parser_Term_forall___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -14731,13 +15189,13 @@ obj* x_15; obj* x_16; uint8 x_17;
x_15 = lean::cnstr_get(x_14, 1);
lean::inc(x_15);
lean::dec(x_14);
-x_16 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1;
+x_16 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1;
x_17 = lean::string_dec_eq(x_15, x_16);
lean::dec(x_15);
if (x_17 == 0)
{
obj* x_18; obj* x_19; obj* x_20;
-x_18 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_18 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
x_19 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_18, x_10);
x_20 = lean::cnstr_get(x_19, 3);
lean::inc(x_20);
@@ -14777,7 +15235,7 @@ else
{
obj* x_33; obj* x_34; obj* x_35;
lean::dec(x_14);
-x_33 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_33 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_33, x_10);
x_35 = lean::cnstr_get(x_34, 3);
lean::inc(x_35);
@@ -14806,7 +15264,7 @@ else
{
obj* x_43; obj* x_44; obj* x_45;
lean::dec(x_12);
-x_43 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4;
+x_43 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4;
x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_43, x_10);
x_45 = lean::cnstr_get(x_44, 3);
lean::inc(x_45);
@@ -14872,7 +15330,7 @@ obj* _init_l_Lean_Parser_Term_forall___closed__3() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__2;
x_2 = l_Lean_Parser_Parser_inhabited___closed__1;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -14968,7 +15426,7 @@ obj* _init_l_Lean_Parser_Term_matchAlt___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_matchAlt___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -15328,7 +15786,7 @@ obj* _init_l_Lean_Parser_Term_matchAlt___closed__4() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___closed__3;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__3;
x_2 = l_Lean_Parser_Term_matchAlt___closed__3;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -15401,39 +15859,39 @@ return x_1;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -15470,22 +15928,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -15493,39 +15979,39 @@ return x_19;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__2(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -15562,22 +16048,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -15594,7 +16108,7 @@ obj* _init_l_Lean_Parser_Term_match___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_match___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -15999,39 +16513,39 @@ return x_77;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___spec__1(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -16068,22 +16582,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -16091,39 +16633,39 @@ return x_19;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___spec__2(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -16160,22 +16702,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -16238,7 +16808,7 @@ obj* _init_l_Lean_Parser_Term_match___closed__6() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___closed__3;
+x_1 = l_Lean_Parser_Term_explicitUniv___closed__3;
x_2 = l_Lean_Parser_Term_match___closed__5;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -16371,7 +16941,7 @@ obj* _init_l_Lean_Parser_Term_nomatch___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_nomatch___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -16614,7 +17184,7 @@ obj* _init_l_Lean_Parser_Term_parser_x21___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_parser_x21___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -16857,7 +17427,7 @@ obj* _init_l_Lean_Parser_Term_tparser_x21___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_tparser_x21___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -17100,7 +17670,7 @@ obj* _init_l_Lean_Parser_Term_borrowed___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_borrowed___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -17353,7 +17923,7 @@ obj* _init_l_Lean_Parser_Term_quotedName___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_quotedName___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -17730,7 +18300,7 @@ obj* _init_l_Lean_Parser_Term_letIdDecl___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_letIdDecl___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -17967,7 +18537,7 @@ obj* _init_l_Lean_Parser_Term_equation___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_equation___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -18312,39 +18882,39 @@ return x_1;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -18381,22 +18951,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -18404,39 +19002,39 @@ return x_19;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__2(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -18473,22 +19071,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -18505,7 +19131,7 @@ obj* _init_l_Lean_Parser_Term_letEqns___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_letEqns___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -18829,39 +19455,39 @@ goto block_50;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___spec__1(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -18898,22 +19524,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -18921,39 +19575,39 @@ return x_19;
obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___spec__2(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
_start:
{
-obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_21; obj* x_22; obj* x_23; obj* x_24; uint8 x_25;
+obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_25; obj* x_26; obj* x_27; obj* x_28; uint8 x_29;
x_6 = lean::cnstr_get(x_5, 0);
lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::cnstr_get(x_5, 1);
lean::inc(x_8);
-x_21 = lean::cnstr_get(x_4, 0);
-lean::inc(x_21);
-x_22 = lean::cnstr_get(x_21, 2);
-lean::inc(x_22);
-lean::dec(x_21);
-x_23 = l_Lean_FileMap_toPosition___main(x_22, x_8);
-lean::dec(x_22);
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = lean::nat_dec_le(x_1, x_24);
-lean::dec(x_24);
-if (x_25 == 0)
+x_25 = lean::cnstr_get(x_4, 0);
+lean::inc(x_25);
+x_26 = lean::cnstr_get(x_25, 2);
+lean::inc(x_26);
+lean::dec(x_25);
+x_27 = l_Lean_FileMap_toPosition___main(x_26, x_8);
+lean::dec(x_26);
+x_28 = lean::cnstr_get(x_27, 1);
+lean::inc(x_28);
+lean::dec(x_27);
+x_29 = lean::nat_dec_le(x_1, x_28);
+lean::dec(x_28);
+if (x_29 == 0)
{
-obj* x_26; obj* x_27;
-x_26 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
-x_9 = x_27;
-goto block_20;
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letEqns___elambda__1___spec__1___closed__1;
+x_31 = l_Lean_Parser_ParserState_mkError(x_5, x_30);
+x_9 = x_31;
+goto block_24;
}
else
{
x_9 = x_5;
-goto block_20;
+goto block_24;
}
-block_20:
+block_24:
{
obj* x_10;
x_10 = lean::cnstr_get(x_9, 3);
@@ -18990,22 +19644,50 @@ return x_17;
}
else
{
-obj* x_18;
+obj* x_18; uint8 x_19;
lean::dec(x_12);
lean::dec(x_4);
-x_18 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+x_18 = lean::cnstr_get(x_11, 1);
+lean::inc(x_18);
+x_19 = lean::nat_dec_eq(x_8, x_18);
+lean::dec(x_18);
+if (x_19 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_18;
+return x_11;
+}
+else
+{
+obj* x_20;
+x_20 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
+lean::dec(x_7);
+return x_20;
+}
}
}
else
{
-obj* x_19;
+obj* x_21; uint8 x_22;
lean::dec(x_10);
lean::dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+x_21 = lean::cnstr_get(x_9, 1);
+lean::inc(x_21);
+x_22 = lean::nat_dec_eq(x_8, x_21);
+lean::dec(x_21);
+if (x_22 == 0)
+{
+lean::dec(x_8);
lean::dec(x_7);
-return x_19;
+return x_9;
+}
+else
+{
+obj* x_23;
+x_23 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
+lean::dec(x_7);
+return x_23;
+}
}
}
}
@@ -19141,7 +19823,7 @@ obj* _init_l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -19163,129 +19845,146 @@ x_8 = lean::cnstr_get(x_7, 3);
lean::inc(x_8);
if (lean::obj_tag(x_8) == 0)
{
-obj* x_9; obj* x_10; obj* x_11;
-x_9 = lean::cnstr_get(x_7, 1);
-lean::inc(x_9);
+obj* x_9; obj* x_10;
lean::inc(x_1);
-x_10 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_11 = lean::cnstr_get(x_10, 3);
+x_9 = l_Lean_Parser_Term_optType___elambda__1___rarg(x_1, x_7);
+x_10 = lean::cnstr_get(x_9, 3);
+lean::inc(x_10);
+if (lean::obj_tag(x_10) == 0)
+{
+obj* x_11; obj* x_12; obj* x_13;
+x_11 = lean::cnstr_get(x_9, 1);
lean::inc(x_11);
-if (lean::obj_tag(x_11) == 0)
+lean::inc(x_1);
+x_12 = l_Lean_Parser_tokenFn(x_1, x_9);
+x_13 = lean::cnstr_get(x_12, 3);
+lean::inc(x_13);
+if (lean::obj_tag(x_13) == 0)
{
-obj* x_12; obj* x_13;
-x_12 = lean::cnstr_get(x_10, 0);
-lean::inc(x_12);
-x_13 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_12);
-lean::dec(x_12);
-if (lean::obj_tag(x_13) == 2)
-{
-obj* x_14; obj* x_15; uint8 x_16;
-x_14 = lean::cnstr_get(x_13, 1);
+obj* x_14; obj* x_15;
+x_14 = lean::cnstr_get(x_12, 0);
lean::inc(x_14);
-lean::dec(x_13);
-x_15 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__3;
-x_16 = lean::string_dec_eq(x_14, x_15);
+x_15 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_14);
lean::dec(x_14);
-if (x_16 == 0)
+if (lean::obj_tag(x_15) == 2)
{
-obj* x_17; obj* x_18; obj* x_19;
-x_17 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__6;
-x_18 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_17, x_9);
-x_19 = lean::cnstr_get(x_18, 3);
-lean::inc(x_19);
-if (lean::obj_tag(x_19) == 0)
+obj* x_16; obj* x_17; uint8 x_18;
+x_16 = lean::cnstr_get(x_15, 1);
+lean::inc(x_16);
+lean::dec(x_15);
+x_17 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__3;
+x_18 = lean::string_dec_eq(x_16, x_17);
+lean::dec(x_16);
+if (x_18 == 0)
{
-obj* x_20; obj* x_21; obj* x_22;
-x_20 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_18);
-x_21 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_4);
-return x_22;
-}
-else
+obj* x_19; obj* x_20; obj* x_21;
+x_19 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__6;
+x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
+x_21 = lean::cnstr_get(x_20, 3);
+lean::inc(x_21);
+if (lean::obj_tag(x_21) == 0)
{
-obj* x_23; obj* x_24;
-lean::dec(x_19);
-lean::dec(x_1);
+obj* x_22; obj* x_23; obj* x_24;
+x_22 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_20);
x_23 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_18, x_23, x_4);
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_4);
return x_24;
}
-}
else
{
-obj* x_25; obj* x_26; obj* x_27;
-lean::dec(x_9);
-x_25 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_10);
-x_26 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_4);
-return x_27;
-}
-}
-else
-{
-obj* x_28; obj* x_29; obj* x_30;
-lean::dec(x_13);
-x_28 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__6;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_28, x_9);
-x_30 = lean::cnstr_get(x_29, 3);
-lean::inc(x_30);
-if (lean::obj_tag(x_30) == 0)
-{
-obj* x_31; obj* x_32; obj* x_33;
-x_31 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_29);
-x_32 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_4);
-return x_33;
-}
-else
-{
-obj* x_34; obj* x_35;
-lean::dec(x_30);
+obj* x_25; obj* x_26;
+lean::dec(x_21);
lean::dec(x_1);
+x_25 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_20, x_25, x_4);
+return x_26;
+}
+}
+else
+{
+obj* x_27; obj* x_28; obj* x_29;
+lean::dec(x_11);
+x_27 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_12);
+x_28 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_4);
+return x_29;
+}
+}
+else
+{
+obj* x_30; obj* x_31; obj* x_32;
+lean::dec(x_15);
+x_30 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__6;
+x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_30, x_11);
+x_32 = lean::cnstr_get(x_31, 3);
+lean::inc(x_32);
+if (lean::obj_tag(x_32) == 0)
+{
+obj* x_33; obj* x_34; obj* x_35;
+x_33 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_31);
x_34 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_29, x_34, x_4);
+x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_4);
return x_35;
}
-}
-}
else
{
-obj* x_36; obj* x_37; obj* x_38;
-lean::dec(x_11);
-x_36 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__6;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_36, x_9);
-x_38 = lean::cnstr_get(x_37, 3);
-lean::inc(x_38);
-if (lean::obj_tag(x_38) == 0)
-{
-obj* x_39; obj* x_40; obj* x_41;
-x_39 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_37);
-x_40 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_4);
-return x_41;
-}
-else
-{
-obj* x_42; obj* x_43;
-lean::dec(x_38);
+obj* x_36; obj* x_37;
+lean::dec(x_32);
lean::dec(x_1);
+x_36 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_31, x_36, x_4);
+return x_37;
+}
+}
+}
+else
+{
+obj* x_38; obj* x_39; obj* x_40;
+lean::dec(x_13);
+x_38 = l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__6;
+x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_38, x_11);
+x_40 = lean::cnstr_get(x_39, 3);
+lean::inc(x_40);
+if (lean::obj_tag(x_40) == 0)
+{
+obj* x_41; obj* x_42; obj* x_43;
+x_41 = l_Lean_Parser_ParserAttribute_runParser(x_5, x_6, x_1, x_39);
x_42 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_37, x_42, x_4);
+x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_4);
return x_43;
}
-}
-}
else
{
obj* x_44; obj* x_45;
-lean::dec(x_8);
+lean::dec(x_40);
lean::dec(x_1);
x_44 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
-x_45 = l_Lean_Parser_ParserState_mkNode(x_7, x_44, x_4);
+x_45 = l_Lean_Parser_ParserState_mkNode(x_39, x_44, x_4);
return x_45;
}
}
}
+else
+{
+obj* x_46; obj* x_47;
+lean::dec(x_10);
+lean::dec(x_1);
+x_46 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
+x_47 = l_Lean_Parser_ParserState_mkNode(x_9, x_46, x_4);
+return x_47;
+}
+}
+else
+{
+obj* x_48; obj* x_49;
+lean::dec(x_8);
+lean::dec(x_1);
+x_48 = l_Lean_Parser_Term_letPatDecl___elambda__1___rarg___closed__2;
+x_49 = l_Lean_Parser_ParserState_mkNode(x_7, x_48, x_4);
+return x_49;
+}
+}
+}
obj* l_Lean_Parser_Term_letPatDecl___elambda__1(obj* x_1) {
_start:
{
@@ -19297,13 +19996,35 @@ return x_2;
obj* _init_l_Lean_Parser_Term_letPatDecl___closed__1() {
_start:
{
+obj* x_1; obj* x_2; obj* x_3; obj* x_4;
+x_1 = l_Lean_Parser_Term_optType;
+x_2 = lean::cnstr_get(x_1, 0);
+lean::inc(x_2);
+x_3 = l_Lean_Parser_Term_equation___closed__1;
+x_4 = l_Lean_Parser_andthenInfo(x_2, x_3);
+return x_4;
+}
+}
+obj* _init_l_Lean_Parser_Term_letPatDecl___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
+x_2 = l_Lean_Parser_Term_letPatDecl___closed__1;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_letPatDecl___closed__3() {
+_start:
+{
obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_equation___closed__2;
+x_1 = l_Lean_Parser_Term_letPatDecl___closed__2;
x_2 = l_Lean_Parser_nodeInfo(x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Term_letPatDecl___closed__2() {
+obj* _init_l_Lean_Parser_Term_letPatDecl___closed__4() {
_start:
{
obj* x_1;
@@ -19311,12 +20032,12 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_letPatDecl_
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_letPatDecl___closed__3() {
+obj* _init_l_Lean_Parser_Term_letPatDecl___closed__5() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_letPatDecl___closed__1;
-x_2 = l_Lean_Parser_Term_letPatDecl___closed__2;
+x_1 = l_Lean_Parser_Term_letPatDecl___closed__3;
+x_2 = l_Lean_Parser_Term_letPatDecl___closed__4;
x_3 = lean::alloc_cnstr(0, 2, 0);
lean::cnstr_set(x_3, 0, x_1);
lean::cnstr_set(x_3, 1, x_2);
@@ -19327,7 +20048,7 @@ obj* _init_l_Lean_Parser_Term_letPatDecl() {
_start:
{
obj* x_1;
-x_1 = l_Lean_Parser_Term_letPatDecl___closed__3;
+x_1 = l_Lean_Parser_Term_letPatDecl___closed__5;
return x_1;
}
}
@@ -19557,7 +20278,7 @@ obj* _init_l_Lean_Parser_Term_let___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_let___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -19710,13 +20431,13 @@ obj* x_15; obj* x_16; uint8 x_17;
x_15 = lean::cnstr_get(x_14, 1);
lean::inc(x_15);
lean::dec(x_14);
-x_16 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
+x_16 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__5;
x_17 = lean::string_dec_eq(x_15, x_16);
lean::dec(x_15);
if (x_17 == 0)
{
obj* x_18; obj* x_19; obj* x_20;
-x_18 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_18 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_19 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_18, x_10);
x_20 = lean::cnstr_get(x_19, 3);
lean::inc(x_20);
@@ -19756,7 +20477,7 @@ else
{
obj* x_33; obj* x_34; obj* x_35;
lean::dec(x_14);
-x_33 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_33 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_33, x_10);
x_35 = lean::cnstr_get(x_34, 3);
lean::inc(x_35);
@@ -19785,7 +20506,7 @@ else
{
obj* x_43; obj* x_44; obj* x_45;
lean::dec(x_12);
-x_43 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
+x_43 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_43, x_10);
x_45 = lean::cnstr_get(x_44, 3);
lean::inc(x_45);
@@ -20088,7 +20809,7 @@ obj* _init_l_Lean_Parser_Term_doLet___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doLet___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -20245,7 +20966,7 @@ obj* _init_l_Lean_Parser_Term_doId___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doId___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -20547,7 +21268,7 @@ obj* _init_l_Lean_Parser_Term_doPat___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doPat___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -20969,7 +21690,7 @@ obj* _init_l_Lean_Parser_Term_doExpr___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doExpr___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -21258,129 +21979,160 @@ x_1 = l_Lean_Parser_Term_doElem___closed__5;
return x_1;
}
}
-obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(uint8 x_1, obj* x_2, obj* x_3, obj* x_4) {
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__2(uint8 x_1, uint8 x_2, obj* x_3, uint8 x_4, obj* x_5, obj* x_6, obj* x_7) {
_start:
{
-obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_17; obj* x_18;
-x_5 = lean::cnstr_get(x_4, 0);
-lean::inc(x_5);
-x_6 = lean::array_get_size(x_5);
-lean::dec(x_5);
-x_7 = lean::cnstr_get(x_4, 1);
-lean::inc(x_7);
-lean::inc(x_3);
-lean::inc(x_2);
-x_17 = l_Lean_Parser_Term_doElem___elambda__1(x_2, x_3, x_4);
-x_18 = lean::cnstr_get(x_17, 3);
-lean::inc(x_18);
-if (lean::obj_tag(x_18) == 0)
-{
-obj* x_19; obj* x_20; obj* x_21;
-x_19 = lean::cnstr_get(x_17, 1);
-lean::inc(x_19);
-lean::inc(x_3);
-x_20 = l_Lean_Parser_tokenFn(x_3, x_17);
-x_21 = lean::cnstr_get(x_20, 3);
-lean::inc(x_21);
-if (lean::obj_tag(x_21) == 0)
-{
-obj* x_22; obj* x_23;
-x_22 = lean::cnstr_get(x_20, 0);
-lean::inc(x_22);
-x_23 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_22);
-lean::dec(x_22);
-if (lean::obj_tag(x_23) == 2)
-{
-obj* x_24; obj* x_25; uint8 x_26;
-x_24 = lean::cnstr_get(x_23, 1);
-lean::inc(x_24);
-lean::dec(x_23);
-x_25 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__6;
-x_26 = lean::string_dec_eq(x_24, x_25);
-lean::dec(x_24);
-if (x_26 == 0)
-{
-obj* x_27; obj* x_28;
-x_27 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_8 = x_28;
-goto block_16;
-}
-else
-{
-lean::dec(x_19);
-x_8 = x_20;
-goto block_16;
-}
-}
-else
-{
-obj* x_29; obj* x_30;
-lean::dec(x_23);
-x_29 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_8 = x_30;
-goto block_16;
-}
-}
-else
-{
-obj* x_31; obj* x_32;
-lean::dec(x_21);
-x_31 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_8 = x_32;
-goto block_16;
-}
-}
-else
-{
-lean::dec(x_18);
-x_8 = x_17;
-goto block_16;
-}
-block_16:
-{
-obj* x_9;
-x_9 = lean::cnstr_get(x_8, 3);
-lean::inc(x_9);
-if (lean::obj_tag(x_9) == 0)
-{
-obj* x_10; uint8 x_11;
-lean::dec(x_6);
-x_10 = lean::cnstr_get(x_8, 1);
+obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12;
+x_8 = lean::cnstr_get(x_7, 0);
+lean::inc(x_8);
+x_9 = lean::array_get_size(x_8);
+lean::dec(x_8);
+x_10 = lean::cnstr_get(x_7, 1);
lean::inc(x_10);
-x_11 = lean::nat_dec_eq(x_7, x_10);
-lean::dec(x_10);
-lean::dec(x_7);
-if (x_11 == 0)
+lean::inc(x_6);
+lean::inc(x_5);
+x_11 = l_Lean_Parser_Term_doElem___elambda__1(x_5, x_6, x_7);
+x_12 = lean::cnstr_get(x_11, 3);
+lean::inc(x_12);
+if (lean::obj_tag(x_12) == 0)
{
-x_4 = x_8;
+obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_23; obj* x_24;
+lean::dec(x_10);
+lean::dec(x_9);
+x_13 = lean::cnstr_get(x_11, 0);
+lean::inc(x_13);
+x_14 = lean::array_get_size(x_13);
+lean::dec(x_13);
+x_15 = lean::cnstr_get(x_11, 1);
+lean::inc(x_15);
+lean::inc(x_6);
+x_23 = l_Lean_Parser_tokenFn(x_6, x_11);
+x_24 = lean::cnstr_get(x_23, 3);
+lean::inc(x_24);
+if (lean::obj_tag(x_24) == 0)
+{
+obj* x_25; obj* x_26;
+x_25 = lean::cnstr_get(x_23, 0);
+lean::inc(x_25);
+x_26 = l_Array_back___at___private_init_lean_parser_parser_6__updateCache___spec__1(x_25);
+lean::dec(x_25);
+if (lean::obj_tag(x_26) == 2)
+{
+obj* x_27; obj* x_28; uint8 x_29;
+x_27 = lean::cnstr_get(x_26, 1);
+lean::inc(x_27);
+lean::dec(x_26);
+x_28 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__5;
+x_29 = lean::string_dec_eq(x_27, x_28);
+lean::dec(x_27);
+if (x_29 == 0)
+{
+obj* x_30; obj* x_31;
+x_30 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
+lean::inc(x_15);
+x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
+x_16 = x_31;
+goto block_22;
+}
+else
+{
+x_16 = x_23;
+goto block_22;
+}
+}
+else
+{
+obj* x_32; obj* x_33;
+lean::dec(x_26);
+x_32 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
+lean::inc(x_15);
+x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
+x_16 = x_33;
+goto block_22;
+}
+}
+else
+{
+obj* x_34; obj* x_35;
+lean::dec(x_24);
+x_34 = l_Lean_Parser_Term_have___elambda__1___rarg___closed__8;
+lean::inc(x_15);
+x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
+x_16 = x_35;
+goto block_22;
+}
+block_22:
+{
+obj* x_17;
+x_17 = lean::cnstr_get(x_16, 3);
+lean::inc(x_17);
+if (lean::obj_tag(x_17) == 0)
+{
+lean::dec(x_15);
+lean::dec(x_14);
+{
+uint8 _tmp_3 = x_2;
+obj* _tmp_6 = x_16;
+x_4 = _tmp_3;
+x_7 = _tmp_6;
+}
goto _start;
}
else
{
-obj* x_13; obj* x_14;
-lean::dec(x_3);
-lean::dec(x_2);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
+obj* x_19; obj* x_20; obj* x_21;
+lean::dec(x_17);
+lean::dec(x_6);
+lean::dec(x_5);
+x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
+lean::dec(x_14);
+x_20 = l_Lean_nullKind;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_3);
+return x_21;
+}
}
}
else
{
-obj* x_15;
-lean::dec(x_9);
-lean::dec(x_3);
-lean::dec(x_2);
-x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+lean::dec(x_12);
lean::dec(x_6);
-return x_15;
+lean::dec(x_5);
+if (x_4 == 0)
+{
+obj* x_36; obj* x_37; obj* x_38; obj* x_39;
+lean::dec(x_10);
+lean::dec(x_9);
+x_36 = lean::box(0);
+x_37 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_36);
+x_38 = l_Lean_nullKind;
+x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_3);
+return x_39;
+}
+else
+{
+obj* x_40; obj* x_41; obj* x_42;
+x_40 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
+lean::dec(x_9);
+x_41 = l_Lean_nullKind;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_3);
+return x_42;
}
}
}
}
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+obj* x_6; obj* x_7; uint8 x_8; obj* x_9;
+x_6 = lean::cnstr_get(x_5, 0);
+lean::inc(x_6);
+x_7 = lean::array_get_size(x_6);
+lean::dec(x_6);
+x_8 = 0;
+x_9 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__2(x_1, x_2, x_7, x_8, x_3, x_4, x_5);
+return x_9;
+}
+}
obj* _init_l_Lean_Parser_Term_doSeq___elambda__1___closed__1() {
_start:
{
@@ -21393,7 +22145,7 @@ obj* _init_l_Lean_Parser_Term_doSeq___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doSeq___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -21402,38 +22154,25 @@ return x_3;
obj* l_Lean_Parser_Term_doSeq___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
-obj* x_4; obj* x_5; uint8 x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10;
+obj* x_4; obj* x_5; uint8 x_6; uint8 x_7; obj* x_8; obj* x_9; obj* x_10;
x_4 = lean::cnstr_get(x_3, 0);
lean::inc(x_4);
x_5 = lean::array_get_size(x_4);
lean::dec(x_4);
x_6 = 0;
-lean::inc(x_2);
-x_7 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(x_6, x_1, x_2, x_3);
-x_8 = l_Lean_nullKind;
-lean::inc(x_5);
-x_9 = l_Lean_Parser_ParserState_mkNode(x_7, x_8, x_5);
-x_10 = lean::cnstr_get(x_9, 3);
-lean::inc(x_10);
-if (lean::obj_tag(x_10) == 0)
-{
-obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15;
-x_11 = l_Lean_Parser_termParserAttribute;
-x_12 = lean::mk_nat_obj(0u);
-x_13 = l_Lean_Parser_ParserAttribute_runParser(x_11, x_12, x_2, x_9);
-x_14 = l_Lean_Parser_Term_doSeq___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_5);
-return x_15;
+x_7 = 0;
+x_8 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(x_6, x_7, x_1, x_2, x_3);
+x_9 = l_Lean_Parser_Term_doSeq___elambda__1___closed__2;
+x_10 = l_Lean_Parser_ParserState_mkNode(x_8, x_9, x_5);
+return x_10;
}
-else
-{
-obj* x_16; obj* x_17;
-lean::dec(x_10);
-lean::dec(x_2);
-x_16 = l_Lean_Parser_Term_doSeq___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_9, x_16, x_5);
-return x_17;
}
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doSeq___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+obj* x_6;
+x_6 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(x_1, x_2, x_3, x_4, x_5);
+return x_6;
}
}
obj* _init_l_Lean_Parser_Term_doSeq___closed__1() {
@@ -21444,7 +22183,7 @@ x_1 = l_Lean_Parser_Term_doElem;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
x_3 = l_Lean_Parser_Term_have___closed__3;
-x_4 = l_Lean_Parser_andthenInfo(x_2, x_3);
+x_4 = l_Lean_Parser_sepBy1Info(x_2, x_3);
return x_4;
}
}
@@ -21453,30 +22192,11 @@ _start:
{
obj* x_1; obj* x_2;
x_1 = l_Lean_Parser_Term_doSeq___closed__1;
-x_2 = l_Lean_Parser_noFirstTokenInfo(x_1);
-return x_2;
-}
-}
-obj* _init_l_Lean_Parser_Term_doSeq___closed__3() {
-_start:
-{
-obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_doSeq___closed__2;
-x_2 = l_Lean_Parser_Parser_inhabited___closed__1;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
-}
-}
-obj* _init_l_Lean_Parser_Term_doSeq___closed__4() {
-_start:
-{
-obj* x_1; obj* x_2;
-x_1 = l_Lean_Parser_Term_doSeq___closed__3;
x_2 = l_Lean_Parser_nodeInfo(x_1);
return x_2;
}
}
-obj* _init_l_Lean_Parser_Term_doSeq___closed__5() {
+obj* _init_l_Lean_Parser_Term_doSeq___closed__3() {
_start:
{
obj* x_1;
@@ -21484,12 +22204,12 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_doSeq___ela
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_doSeq___closed__6() {
+obj* _init_l_Lean_Parser_Term_doSeq___closed__4() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_doSeq___closed__4;
-x_2 = l_Lean_Parser_Term_doSeq___closed__5;
+x_1 = l_Lean_Parser_Term_doSeq___closed__2;
+x_2 = l_Lean_Parser_Term_doSeq___closed__3;
x_3 = lean::alloc_cnstr(0, 2, 0);
lean::cnstr_set(x_3, 0, x_1);
lean::cnstr_set(x_3, 1, x_2);
@@ -21500,18 +22220,46 @@ obj* _init_l_Lean_Parser_Term_doSeq() {
_start:
{
obj* x_1;
-x_1 = l_Lean_Parser_Term_doSeq___closed__6;
+x_1 = l_Lean_Parser_Term_doSeq___closed__4;
return x_1;
}
}
-obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
+obj* l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__2___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6, obj* x_7) {
_start:
{
-uint8 x_5; obj* x_6;
-x_5 = lean::unbox(x_1);
+uint8 x_8; uint8 x_9; uint8 x_10; obj* x_11;
+x_8 = lean::unbox(x_1);
lean::dec(x_1);
-x_6 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(x_5, x_2, x_3, x_4);
-return x_6;
+x_9 = lean::unbox(x_2);
+lean::dec(x_2);
+x_10 = lean::unbox(x_4);
+lean::dec(x_4);
+x_11 = l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__2(x_8, x_9, x_3, x_10, x_5, x_6, x_7);
+return x_11;
+}
+}
+obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+uint8 x_6; uint8 x_7; obj* x_8;
+x_6 = lean::unbox(x_1);
+lean::dec(x_1);
+x_7 = lean::unbox(x_2);
+lean::dec(x_2);
+x_8 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_doSeq___elambda__1___spec__1(x_6, x_7, x_3, x_4, x_5);
+return x_8;
+}
+}
+obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doSeq___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) {
+_start:
+{
+uint8 x_6; uint8 x_7; obj* x_8;
+x_6 = lean::unbox(x_1);
+lean::dec(x_1);
+x_7 = lean::unbox(x_2);
+lean::dec(x_2);
+x_8 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doSeq___spec__1(x_6, x_7, x_3, x_4, x_5);
+return x_8;
}
}
obj* _init_l_Lean_Parser_Term_bracketedDoSeq___elambda__1___closed__1() {
@@ -21526,7 +22274,7 @@ obj* _init_l_Lean_Parser_Term_bracketedDoSeq___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_bracketedDoSeq___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -21629,13 +22377,13 @@ obj* x_15; obj* x_16; uint8 x_17;
x_15 = lean::cnstr_get(x_14, 1);
lean::inc(x_15);
lean::dec(x_14);
-x_16 = l_Lean_Parser_Term_id___elambda__1___closed__8;
+x_16 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
x_17 = lean::string_dec_eq(x_15, x_16);
lean::dec(x_15);
if (x_17 == 0)
{
obj* x_18; obj* x_19; obj* x_20; obj* x_21;
-x_18 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_18 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_19 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_18, x_10);
x_20 = l_Lean_Parser_Term_bracketedDoSeq___elambda__1___closed__2;
x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_5);
@@ -21654,7 +22402,7 @@ else
{
obj* x_24; obj* x_25; obj* x_26; obj* x_27;
lean::dec(x_14);
-x_24 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_24 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_24, x_10);
x_26 = l_Lean_Parser_Term_bracketedDoSeq___elambda__1___closed__2;
x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5);
@@ -21665,7 +22413,7 @@ else
{
obj* x_28; obj* x_29; obj* x_30; obj* x_31;
lean::dec(x_12);
-x_28 = l_Lean_Parser_Term_id___elambda__1___closed__11;
+x_28 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11;
x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_28, x_10);
x_30 = l_Lean_Parser_Term_bracketedDoSeq___elambda__1___closed__2;
x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_5);
@@ -21702,7 +22450,7 @@ obj* x_1; obj* x_2; obj* x_3; obj* x_4;
x_1 = l_Lean_Parser_Term_doSeq;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
-x_3 = l_Lean_Parser_Term_id___closed__4;
+x_3 = l_Lean_Parser_Term_explicitUniv___closed__4;
x_4 = l_Lean_Parser_andthenInfo(x_2, x_3);
return x_4;
}
@@ -21766,7 +22514,7 @@ obj* _init_l_Lean_Parser_Term_do___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_do___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -22059,7 +22807,7 @@ obj* _init_l_Lean_Parser_Term_not___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_not___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -22312,7 +23060,7 @@ obj* _init_l_Lean_Parser_Term_bnot___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_bnot___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -22555,7 +23303,7 @@ obj* _init_l_Lean_Parser_Term_uminus___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_uminus___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -22790,7 +23538,7 @@ obj* _init_l_Lean_Parser_Term_namedArgument___elambda__1___rarg___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_namedArgument___elambda__1___rarg___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -23225,7 +23973,7 @@ obj* _init_l_Lean_Parser_Term_app___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_app___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -23466,7 +24214,7 @@ obj* _init_l_Lean_Parser_Term_sortApp___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_sortApp___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -23586,7 +24334,7 @@ obj* _init_l_Lean_Parser_Term_proj___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -23925,7 +24673,7 @@ obj* _init_l_Lean_Parser_Term_arrow___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_arrow___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24021,7 +24769,7 @@ obj* _init_l_Lean_Parser_Term_array___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_array___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24275,7 +25023,7 @@ obj* _init_l_Lean_Parser_Term_dollar___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_dollar___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24378,7 +25126,7 @@ obj* _init_l_Lean_Parser_Term_fcomp___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_fcomp___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24481,7 +25229,7 @@ obj* _init_l_Lean_Parser_Term_prod___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_prod___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24584,7 +25332,7 @@ obj* _init_l_Lean_Parser_Term_add___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_add___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24687,7 +25435,7 @@ obj* _init_l_Lean_Parser_Term_sub___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_sub___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24790,7 +25538,7 @@ obj* _init_l_Lean_Parser_Term_mul___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_mul___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24893,7 +25641,7 @@ obj* _init_l_Lean_Parser_Term_div___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_div___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -24996,7 +25744,7 @@ obj* _init_l_Lean_Parser_Term_mod___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_mod___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25099,7 +25847,7 @@ obj* _init_l_Lean_Parser_Term_modN___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_modN___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25202,7 +25950,7 @@ obj* _init_l_Lean_Parser_Term_pow___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_pow___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25305,7 +26053,7 @@ obj* _init_l_Lean_Parser_Term_le___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_le___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25417,7 +26165,7 @@ obj* _init_l_Lean_Parser_Term_ge___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_ge___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25529,7 +26277,7 @@ obj* _init_l_Lean_Parser_Term_lt___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_lt___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25632,7 +26380,7 @@ obj* _init_l_Lean_Parser_Term_gt___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_gt___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25735,7 +26483,7 @@ obj* _init_l_Lean_Parser_Term_eq___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_eq___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25838,7 +26586,7 @@ obj* _init_l_Lean_Parser_Term_ne___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_ne___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -25941,7 +26689,7 @@ obj* _init_l_Lean_Parser_Term_beq___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_beq___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26044,7 +26792,7 @@ obj* _init_l_Lean_Parser_Term_bne___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_bne___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26147,7 +26895,7 @@ obj* _init_l_Lean_Parser_Term_heq___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_heq___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26259,7 +27007,7 @@ obj* _init_l_Lean_Parser_Term_equiv___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_equiv___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26362,7 +27110,7 @@ obj* _init_l_Lean_Parser_Term_subst___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_subst___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26465,7 +27213,7 @@ obj* _init_l_Lean_Parser_Term_and___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_and___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26577,7 +27325,7 @@ obj* _init_l_Lean_Parser_Term_or___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_or___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26689,7 +27437,7 @@ obj* _init_l_Lean_Parser_Term_iff___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_iff___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26801,7 +27549,7 @@ obj* _init_l_Lean_Parser_Term_band___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_band___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -26904,7 +27652,7 @@ obj* _init_l_Lean_Parser_Term_bor___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_bor___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27007,7 +27755,7 @@ obj* _init_l_Lean_Parser_Term_append___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_append___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27110,7 +27858,7 @@ obj* _init_l_Lean_Parser_Term_cons___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_cons___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27213,7 +27961,7 @@ obj* _init_l_Lean_Parser_Term_orelse___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_orelse___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27304,6 +28052,212 @@ x_5 = l_Lean_Parser_addBuiltinTrailingParser(x_2, x_3, x_4, x_1);
return x_5;
}
}
+obj* _init_l_Lean_Parser_Term_orM___elambda__1___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("orM");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_orM___elambda__1___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_orM___elambda__1___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_orM___elambda__1___closed__3() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string(" <||> ");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_orM___elambda__1___closed__4() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_orM___elambda__1___closed__3;
+x_2 = lean::mk_nat_obj(30u);
+x_3 = l_Lean_Parser_Term_infixR(x_1, x_2);
+return x_3;
+}
+}
+obj* l_Lean_Parser_Term_orM___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10;
+x_4 = l_Lean_Parser_Term_orM___elambda__1___closed__4;
+x_5 = lean::cnstr_get(x_4, 1);
+lean::inc(x_5);
+x_6 = lean::cnstr_get(x_3, 0);
+lean::inc(x_6);
+x_7 = lean::array_get_size(x_6);
+lean::dec(x_6);
+x_8 = lean::apply_3(x_5, x_1, x_2, x_3);
+x_9 = l_Lean_Parser_Term_orM___elambda__1___closed__2;
+x_10 = l_Lean_Parser_ParserState_mkNode(x_8, x_9, x_7);
+return x_10;
+}
+}
+obj* _init_l_Lean_Parser_Term_orM___closed__1() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_orM___elambda__1___closed__4;
+x_2 = lean::cnstr_get(x_1, 0);
+lean::inc(x_2);
+x_3 = l_Lean_Parser_nodeInfo(x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_orM___closed__2() {
+_start:
+{
+obj* x_1;
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_orM___elambda__1), 3, 0);
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_orM___closed__3() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_orM___closed__1;
+x_2 = l_Lean_Parser_Term_orM___closed__2;
+x_3 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_3, 0, x_1);
+lean::cnstr_set(x_3, 1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_orM() {
+_start:
+{
+obj* x_1;
+x_1 = l_Lean_Parser_Term_orM___closed__3;
+return x_1;
+}
+}
+obj* l___regBuiltinParser_Lean_Parser_Term_orM(obj* x_1) {
+_start:
+{
+obj* x_2; obj* x_3; obj* x_4; obj* x_5;
+x_2 = l_Lean_Parser_builtinTermParsingTable;
+x_3 = l_Lean_Parser_Term_orM___elambda__1___closed__2;
+x_4 = l_Lean_Parser_Term_orM;
+x_5 = l_Lean_Parser_addBuiltinTrailingParser(x_2, x_3, x_4, x_1);
+return x_5;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__1() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string("andM");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__2() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_andM___elambda__1___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__3() {
+_start:
+{
+obj* x_1;
+x_1 = lean::mk_string(" <&&> ");
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__4() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_andM___elambda__1___closed__3;
+x_2 = lean::mk_nat_obj(35u);
+x_3 = l_Lean_Parser_Term_infixR(x_1, x_2);
+return x_3;
+}
+}
+obj* l_Lean_Parser_Term_andM___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
+_start:
+{
+obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10;
+x_4 = l_Lean_Parser_Term_andM___elambda__1___closed__4;
+x_5 = lean::cnstr_get(x_4, 1);
+lean::inc(x_5);
+x_6 = lean::cnstr_get(x_3, 0);
+lean::inc(x_6);
+x_7 = lean::array_get_size(x_6);
+lean::dec(x_6);
+x_8 = lean::apply_3(x_5, x_1, x_2, x_3);
+x_9 = l_Lean_Parser_Term_andM___elambda__1___closed__2;
+x_10 = l_Lean_Parser_ParserState_mkNode(x_8, x_9, x_7);
+return x_10;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM___closed__1() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_andM___elambda__1___closed__4;
+x_2 = lean::cnstr_get(x_1, 0);
+lean::inc(x_2);
+x_3 = l_Lean_Parser_nodeInfo(x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM___closed__2() {
+_start:
+{
+obj* x_1;
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_andM___elambda__1), 3, 0);
+return x_1;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM___closed__3() {
+_start:
+{
+obj* x_1; obj* x_2; obj* x_3;
+x_1 = l_Lean_Parser_Term_andM___closed__1;
+x_2 = l_Lean_Parser_Term_andM___closed__2;
+x_3 = lean::alloc_cnstr(0, 2, 0);
+lean::cnstr_set(x_3, 0, x_1);
+lean::cnstr_set(x_3, 1, x_2);
+return x_3;
+}
+}
+obj* _init_l_Lean_Parser_Term_andM() {
+_start:
+{
+obj* x_1;
+x_1 = l_Lean_Parser_Term_andM___closed__3;
+return x_1;
+}
+}
+obj* l___regBuiltinParser_Lean_Parser_Term_andM(obj* x_1) {
+_start:
+{
+obj* x_2; obj* x_3; obj* x_4; obj* x_5;
+x_2 = l_Lean_Parser_builtinTermParsingTable;
+x_3 = l_Lean_Parser_Term_andM___elambda__1___closed__2;
+x_4 = l_Lean_Parser_Term_andM;
+x_5 = l_Lean_Parser_addBuiltinTrailingParser(x_2, x_3, x_4, x_1);
+return x_5;
+}
+}
obj* _init_l_Lean_Parser_Term_andthen___elambda__1___closed__1() {
_start:
{
@@ -27316,7 +28270,7 @@ obj* _init_l_Lean_Parser_Term_andthen___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_andthen___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27419,7 +28373,7 @@ obj* _init_l_Lean_Parser_Term_bind___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_bind___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27510,25 +28464,25 @@ x_5 = l_Lean_Parser_addBuiltinTrailingParser(x_2, x_3, x_4, x_1);
return x_5;
}
}
-obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__1() {
+obj* _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__1() {
_start:
{
obj* x_1;
-x_1 = lean::mk_string("andM");
+x_1 = lean::mk_string("mapRev");
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__2() {
+obj* _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
-x_2 = l_Lean_Parser_Term_andM___elambda__1___closed__1;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_mapRev___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__3() {
+obj* _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__3() {
_start:
{
obj* x_1;
@@ -27536,21 +28490,21 @@ x_1 = lean::mk_string(" <&> ");
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_andM___elambda__1___closed__4() {
+obj* _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__4() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_andM___elambda__1___closed__3;
+x_1 = l_Lean_Parser_Term_mapRev___elambda__1___closed__3;
x_2 = lean::mk_nat_obj(100u);
x_3 = l_Lean_Parser_Term_infixR(x_1, x_2);
return x_3;
}
}
-obj* l_Lean_Parser_Term_andM___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
+obj* l_Lean_Parser_Term_mapRev___elambda__1(obj* x_1, obj* x_2, obj* x_3) {
_start:
{
obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10;
-x_4 = l_Lean_Parser_Term_andM___elambda__1___closed__4;
+x_4 = l_Lean_Parser_Term_mapRev___elambda__1___closed__4;
x_5 = lean::cnstr_get(x_4, 1);
lean::inc(x_5);
x_6 = lean::cnstr_get(x_3, 0);
@@ -27558,57 +28512,57 @@ lean::inc(x_6);
x_7 = lean::array_get_size(x_6);
lean::dec(x_6);
x_8 = lean::apply_3(x_5, x_1, x_2, x_3);
-x_9 = l_Lean_Parser_Term_andM___elambda__1___closed__2;
+x_9 = l_Lean_Parser_Term_mapRev___elambda__1___closed__2;
x_10 = l_Lean_Parser_ParserState_mkNode(x_8, x_9, x_7);
return x_10;
}
}
-obj* _init_l_Lean_Parser_Term_andM___closed__1() {
+obj* _init_l_Lean_Parser_Term_mapRev___closed__1() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_andM___elambda__1___closed__4;
+x_1 = l_Lean_Parser_Term_mapRev___elambda__1___closed__4;
x_2 = lean::cnstr_get(x_1, 0);
lean::inc(x_2);
x_3 = l_Lean_Parser_nodeInfo(x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_andM___closed__2() {
+obj* _init_l_Lean_Parser_Term_mapRev___closed__2() {
_start:
{
obj* x_1;
-x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_andM___elambda__1), 3, 0);
+x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_mapRev___elambda__1), 3, 0);
return x_1;
}
}
-obj* _init_l_Lean_Parser_Term_andM___closed__3() {
+obj* _init_l_Lean_Parser_Term_mapRev___closed__3() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_andM___closed__1;
-x_2 = l_Lean_Parser_Term_andM___closed__2;
+x_1 = l_Lean_Parser_Term_mapRev___closed__1;
+x_2 = l_Lean_Parser_Term_mapRev___closed__2;
x_3 = lean::alloc_cnstr(0, 2, 0);
lean::cnstr_set(x_3, 0, x_1);
lean::cnstr_set(x_3, 1, x_2);
return x_3;
}
}
-obj* _init_l_Lean_Parser_Term_andM() {
+obj* _init_l_Lean_Parser_Term_mapRev() {
_start:
{
obj* x_1;
-x_1 = l_Lean_Parser_Term_andM___closed__3;
+x_1 = l_Lean_Parser_Term_mapRev___closed__3;
return x_1;
}
}
-obj* l___regBuiltinParser_Lean_Parser_Term_andM(obj* x_1) {
+obj* l___regBuiltinParser_Lean_Parser_Term_mapRev(obj* x_1) {
_start:
{
obj* x_2; obj* x_3; obj* x_4; obj* x_5;
x_2 = l_Lean_Parser_builtinTermParsingTable;
-x_3 = l_Lean_Parser_Term_andM___elambda__1___closed__2;
-x_4 = l_Lean_Parser_Term_andM;
+x_3 = l_Lean_Parser_Term_mapRev___elambda__1___closed__2;
+x_4 = l_Lean_Parser_Term_mapRev;
x_5 = l_Lean_Parser_addBuiltinTrailingParser(x_2, x_3, x_4, x_1);
return x_5;
}
@@ -27625,7 +28579,7 @@ obj* _init_l_Lean_Parser_Term_seq___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_seq___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27728,7 +28682,7 @@ obj* _init_l_Lean_Parser_Term_seqLeft___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_seqLeft___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27831,7 +28785,7 @@ obj* _init_l_Lean_Parser_Term_seqRight___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_seqRight___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -27934,7 +28888,7 @@ obj* _init_l_Lean_Parser_Term_map___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_map___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -28037,7 +28991,7 @@ obj* _init_l_Lean_Parser_Term_mapConst___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_mapConst___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -28140,7 +29094,7 @@ obj* _init_l_Lean_Parser_Term_mapConstRev___elambda__1___closed__2() {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
-x_1 = l_Lean_Parser_Term_id___elambda__1___closed__2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_mapConstRev___elambda__1___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -28278,42 +29232,98 @@ REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_na
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "infixR"), 2, l_Lean_Parser_Term_infixR___boxed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "unicodeInfixL"), 3, l_Lean_Parser_Term_unicodeInfixL___boxed);
REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "infixL"), 2, l_Lean_Parser_Term_infixL___boxed);
-l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1();
-lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1);
-l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2();
-lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2);
-l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__3 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__3();
-lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__3);
-l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4();
-lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__4);
+l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1();
+lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__1);
+l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__2 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__2();
+lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__2);
+l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__3 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__3();
+lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__3);
+l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4 = _init_l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4();
+lean::mark_persistent(l___private_init_lean_parser_parser_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___closed__4);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__1 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__1);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__3 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__3);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__5 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__5();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__5);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__6);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__10 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__10();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__10);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__11);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__12 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__12();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__12);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__13 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__13();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__13);
+l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__14);
+l_Lean_Parser_Term_explicitUniv___closed__1 = _init_l_Lean_Parser_Term_explicitUniv___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__1);
+l_Lean_Parser_Term_explicitUniv___closed__2 = _init_l_Lean_Parser_Term_explicitUniv___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__2);
+l_Lean_Parser_Term_explicitUniv___closed__3 = _init_l_Lean_Parser_Term_explicitUniv___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__3);
+l_Lean_Parser_Term_explicitUniv___closed__4 = _init_l_Lean_Parser_Term_explicitUniv___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__4);
+l_Lean_Parser_Term_explicitUniv___closed__5 = _init_l_Lean_Parser_Term_explicitUniv___closed__5();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__5);
+l_Lean_Parser_Term_explicitUniv___closed__6 = _init_l_Lean_Parser_Term_explicitUniv___closed__6();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__6);
+l_Lean_Parser_Term_explicitUniv___closed__7 = _init_l_Lean_Parser_Term_explicitUniv___closed__7();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__7);
+l_Lean_Parser_Term_explicitUniv___closed__8 = _init_l_Lean_Parser_Term_explicitUniv___closed__8();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__8);
+l_Lean_Parser_Term_explicitUniv___closed__9 = _init_l_Lean_Parser_Term_explicitUniv___closed__9();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__9);
+l_Lean_Parser_Term_explicitUniv = _init_l_Lean_Parser_Term_explicitUniv();
+lean::mark_persistent(l_Lean_Parser_Term_explicitUniv);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "explicitUniv"), l_Lean_Parser_Term_explicitUniv);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__1 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__1);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__2);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__3 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__3);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__4);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__5 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__5();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__5);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__6 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__6();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__6);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__7 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__7();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__7);
+l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8 = _init_l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___elambda__1___rarg___closed__8);
+l_Lean_Parser_Term_namedPattern___closed__1 = _init_l_Lean_Parser_Term_namedPattern___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___closed__1);
+l_Lean_Parser_Term_namedPattern___closed__2 = _init_l_Lean_Parser_Term_namedPattern___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___closed__2);
+l_Lean_Parser_Term_namedPattern___closed__3 = _init_l_Lean_Parser_Term_namedPattern___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___closed__3);
+l_Lean_Parser_Term_namedPattern___closed__4 = _init_l_Lean_Parser_Term_namedPattern___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___closed__4);
+l_Lean_Parser_Term_namedPattern___closed__5 = _init_l_Lean_Parser_Term_namedPattern___closed__5();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___closed__5);
+l_Lean_Parser_Term_namedPattern___closed__6 = _init_l_Lean_Parser_Term_namedPattern___closed__6();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern___closed__6);
+l_Lean_Parser_Term_namedPattern = _init_l_Lean_Parser_Term_namedPattern();
+lean::mark_persistent(l_Lean_Parser_Term_namedPattern);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "namedPattern"), l_Lean_Parser_Term_namedPattern);
l_Lean_Parser_Term_id___elambda__1___closed__1 = _init_l_Lean_Parser_Term_id___elambda__1___closed__1();
lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__1);
l_Lean_Parser_Term_id___elambda__1___closed__2 = _init_l_Lean_Parser_Term_id___elambda__1___closed__2();
lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__2);
-l_Lean_Parser_Term_id___elambda__1___closed__3 = _init_l_Lean_Parser_Term_id___elambda__1___closed__3();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__3);
-l_Lean_Parser_Term_id___elambda__1___closed__4 = _init_l_Lean_Parser_Term_id___elambda__1___closed__4();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__4);
-l_Lean_Parser_Term_id___elambda__1___closed__5 = _init_l_Lean_Parser_Term_id___elambda__1___closed__5();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__5);
-l_Lean_Parser_Term_id___elambda__1___closed__6 = _init_l_Lean_Parser_Term_id___elambda__1___closed__6();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__6);
-l_Lean_Parser_Term_id___elambda__1___closed__7 = _init_l_Lean_Parser_Term_id___elambda__1___closed__7();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__7);
-l_Lean_Parser_Term_id___elambda__1___closed__8 = _init_l_Lean_Parser_Term_id___elambda__1___closed__8();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__8);
-l_Lean_Parser_Term_id___elambda__1___closed__9 = _init_l_Lean_Parser_Term_id___elambda__1___closed__9();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__9);
-l_Lean_Parser_Term_id___elambda__1___closed__10 = _init_l_Lean_Parser_Term_id___elambda__1___closed__10();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__10);
-l_Lean_Parser_Term_id___elambda__1___closed__11 = _init_l_Lean_Parser_Term_id___elambda__1___closed__11();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__11);
-l_Lean_Parser_Term_id___elambda__1___closed__12 = _init_l_Lean_Parser_Term_id___elambda__1___closed__12();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__12);
-l_Lean_Parser_Term_id___elambda__1___closed__13 = _init_l_Lean_Parser_Term_id___elambda__1___closed__13();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__13);
-l_Lean_Parser_Term_id___elambda__1___closed__14 = _init_l_Lean_Parser_Term_id___elambda__1___closed__14();
-lean::mark_persistent(l_Lean_Parser_Term_id___elambda__1___closed__14);
l_Lean_Parser_Term_id___closed__1 = _init_l_Lean_Parser_Term_id___closed__1();
lean::mark_persistent(l_Lean_Parser_Term_id___closed__1);
l_Lean_Parser_Term_id___closed__2 = _init_l_Lean_Parser_Term_id___closed__2();
@@ -28326,16 +29336,6 @@ l_Lean_Parser_Term_id___closed__5 = _init_l_Lean_Parser_Term_id___closed__5();
lean::mark_persistent(l_Lean_Parser_Term_id___closed__5);
l_Lean_Parser_Term_id___closed__6 = _init_l_Lean_Parser_Term_id___closed__6();
lean::mark_persistent(l_Lean_Parser_Term_id___closed__6);
-l_Lean_Parser_Term_id___closed__7 = _init_l_Lean_Parser_Term_id___closed__7();
-lean::mark_persistent(l_Lean_Parser_Term_id___closed__7);
-l_Lean_Parser_Term_id___closed__8 = _init_l_Lean_Parser_Term_id___closed__8();
-lean::mark_persistent(l_Lean_Parser_Term_id___closed__8);
-l_Lean_Parser_Term_id___closed__9 = _init_l_Lean_Parser_Term_id___closed__9();
-lean::mark_persistent(l_Lean_Parser_Term_id___closed__9);
-l_Lean_Parser_Term_id___closed__10 = _init_l_Lean_Parser_Term_id___closed__10();
-lean::mark_persistent(l_Lean_Parser_Term_id___closed__10);
-l_Lean_Parser_Term_id___closed__11 = _init_l_Lean_Parser_Term_id___closed__11();
-lean::mark_persistent(l_Lean_Parser_Term_id___closed__11);
l_Lean_Parser_Term_id = _init_l_Lean_Parser_Term_id();
lean::mark_persistent(l_Lean_Parser_Term_id);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "id"), l_Lean_Parser_Term_id);
@@ -28818,8 +29818,6 @@ l_Lean_Parser_Term_have___elambda__1___rarg___closed__10 = _init_l_Lean_Parser_T
lean::mark_persistent(l_Lean_Parser_Term_have___elambda__1___rarg___closed__10);
l_Lean_Parser_Term_have___elambda__1___rarg___closed__11 = _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__11();
lean::mark_persistent(l_Lean_Parser_Term_have___elambda__1___rarg___closed__11);
-l_Lean_Parser_Term_have___elambda__1___rarg___closed__12 = _init_l_Lean_Parser_Term_have___elambda__1___rarg___closed__12();
-lean::mark_persistent(l_Lean_Parser_Term_have___elambda__1___rarg___closed__12);
l_Lean_Parser_Term_have___closed__1 = _init_l_Lean_Parser_Term_have___closed__1();
lean::mark_persistent(l_Lean_Parser_Term_have___closed__1);
l_Lean_Parser_Term_have___closed__2 = _init_l_Lean_Parser_Term_have___closed__2();
@@ -29183,16 +30181,6 @@ l_Lean_Parser_Term_explicit___elambda__1___closed__1 = _init_l_Lean_Parser_Term_
lean::mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__1);
l_Lean_Parser_Term_explicit___elambda__1___closed__2 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__2();
lean::mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__2);
-l_Lean_Parser_Term_explicit___elambda__1___closed__3 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__3();
-lean::mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__3);
-l_Lean_Parser_Term_explicit___elambda__1___closed__4 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__4();
-lean::mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__4);
-l_Lean_Parser_Term_explicit___elambda__1___closed__5 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__5();
-lean::mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__5);
-l_Lean_Parser_Term_explicit___elambda__1___closed__6 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__6();
-lean::mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__6);
-l_Lean_Parser_Term_explicit___elambda__1___closed__7 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__7();
-lean::mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__7);
l_Lean_Parser_Term_explicit___closed__1 = _init_l_Lean_Parser_Term_explicit___closed__1();
lean::mark_persistent(l_Lean_Parser_Term_explicit___closed__1);
l_Lean_Parser_Term_explicit___closed__2 = _init_l_Lean_Parser_Term_explicit___closed__2();
@@ -29767,6 +30755,10 @@ l_Lean_Parser_Term_letPatDecl___closed__2 = _init_l_Lean_Parser_Term_letPatDecl_
lean::mark_persistent(l_Lean_Parser_Term_letPatDecl___closed__2);
l_Lean_Parser_Term_letPatDecl___closed__3 = _init_l_Lean_Parser_Term_letPatDecl___closed__3();
lean::mark_persistent(l_Lean_Parser_Term_letPatDecl___closed__3);
+l_Lean_Parser_Term_letPatDecl___closed__4 = _init_l_Lean_Parser_Term_letPatDecl___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_letPatDecl___closed__4);
+l_Lean_Parser_Term_letPatDecl___closed__5 = _init_l_Lean_Parser_Term_letPatDecl___closed__5();
+lean::mark_persistent(l_Lean_Parser_Term_letPatDecl___closed__5);
l_Lean_Parser_Term_letPatDecl = _init_l_Lean_Parser_Term_letPatDecl();
lean::mark_persistent(l_Lean_Parser_Term_letPatDecl);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "letPatDecl"), l_Lean_Parser_Term_letPatDecl);
@@ -29936,10 +30928,6 @@ l_Lean_Parser_Term_doSeq___closed__3 = _init_l_Lean_Parser_Term_doSeq___closed__
lean::mark_persistent(l_Lean_Parser_Term_doSeq___closed__3);
l_Lean_Parser_Term_doSeq___closed__4 = _init_l_Lean_Parser_Term_doSeq___closed__4();
lean::mark_persistent(l_Lean_Parser_Term_doSeq___closed__4);
-l_Lean_Parser_Term_doSeq___closed__5 = _init_l_Lean_Parser_Term_doSeq___closed__5();
-lean::mark_persistent(l_Lean_Parser_Term_doSeq___closed__5);
-l_Lean_Parser_Term_doSeq___closed__6 = _init_l_Lean_Parser_Term_doSeq___closed__6();
-lean::mark_persistent(l_Lean_Parser_Term_doSeq___closed__6);
l_Lean_Parser_Term_doSeq = _init_l_Lean_Parser_Term_doSeq();
lean::mark_persistent(l_Lean_Parser_Term_doSeq);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "doSeq"), l_Lean_Parser_Term_doSeq);
@@ -30778,6 +31766,44 @@ lean::mark_persistent(l_Lean_Parser_Term_orelse);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "orelse"), l_Lean_Parser_Term_orelse);
w = l___regBuiltinParser_Lean_Parser_Term_orelse(w);
if (io_result_is_error(w)) return w;
+l_Lean_Parser_Term_orM___elambda__1___closed__1 = _init_l_Lean_Parser_Term_orM___elambda__1___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_orM___elambda__1___closed__1);
+l_Lean_Parser_Term_orM___elambda__1___closed__2 = _init_l_Lean_Parser_Term_orM___elambda__1___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_orM___elambda__1___closed__2);
+l_Lean_Parser_Term_orM___elambda__1___closed__3 = _init_l_Lean_Parser_Term_orM___elambda__1___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_orM___elambda__1___closed__3);
+l_Lean_Parser_Term_orM___elambda__1___closed__4 = _init_l_Lean_Parser_Term_orM___elambda__1___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_orM___elambda__1___closed__4);
+l_Lean_Parser_Term_orM___closed__1 = _init_l_Lean_Parser_Term_orM___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_orM___closed__1);
+l_Lean_Parser_Term_orM___closed__2 = _init_l_Lean_Parser_Term_orM___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_orM___closed__2);
+l_Lean_Parser_Term_orM___closed__3 = _init_l_Lean_Parser_Term_orM___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_orM___closed__3);
+l_Lean_Parser_Term_orM = _init_l_Lean_Parser_Term_orM();
+lean::mark_persistent(l_Lean_Parser_Term_orM);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "orM"), l_Lean_Parser_Term_orM);
+w = l___regBuiltinParser_Lean_Parser_Term_orM(w);
+if (io_result_is_error(w)) return w;
+l_Lean_Parser_Term_andM___elambda__1___closed__1 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__1);
+l_Lean_Parser_Term_andM___elambda__1___closed__2 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__2);
+l_Lean_Parser_Term_andM___elambda__1___closed__3 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__3);
+l_Lean_Parser_Term_andM___elambda__1___closed__4 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__4);
+l_Lean_Parser_Term_andM___closed__1 = _init_l_Lean_Parser_Term_andM___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_andM___closed__1);
+l_Lean_Parser_Term_andM___closed__2 = _init_l_Lean_Parser_Term_andM___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_andM___closed__2);
+l_Lean_Parser_Term_andM___closed__3 = _init_l_Lean_Parser_Term_andM___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_andM___closed__3);
+l_Lean_Parser_Term_andM = _init_l_Lean_Parser_Term_andM();
+lean::mark_persistent(l_Lean_Parser_Term_andM);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "andM"), l_Lean_Parser_Term_andM);
+w = l___regBuiltinParser_Lean_Parser_Term_andM(w);
+if (io_result_is_error(w)) return w;
l_Lean_Parser_Term_andthen___elambda__1___closed__1 = _init_l_Lean_Parser_Term_andthen___elambda__1___closed__1();
lean::mark_persistent(l_Lean_Parser_Term_andthen___elambda__1___closed__1);
l_Lean_Parser_Term_andthen___elambda__1___closed__2 = _init_l_Lean_Parser_Term_andthen___elambda__1___closed__2();
@@ -30816,24 +31842,24 @@ lean::mark_persistent(l_Lean_Parser_Term_bind);
lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "bind"), l_Lean_Parser_Term_bind);
w = l___regBuiltinParser_Lean_Parser_Term_bind(w);
if (io_result_is_error(w)) return w;
-l_Lean_Parser_Term_andM___elambda__1___closed__1 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__1();
-lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__1);
-l_Lean_Parser_Term_andM___elambda__1___closed__2 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__2();
-lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__2);
-l_Lean_Parser_Term_andM___elambda__1___closed__3 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__3();
-lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__3);
-l_Lean_Parser_Term_andM___elambda__1___closed__4 = _init_l_Lean_Parser_Term_andM___elambda__1___closed__4();
-lean::mark_persistent(l_Lean_Parser_Term_andM___elambda__1___closed__4);
-l_Lean_Parser_Term_andM___closed__1 = _init_l_Lean_Parser_Term_andM___closed__1();
-lean::mark_persistent(l_Lean_Parser_Term_andM___closed__1);
-l_Lean_Parser_Term_andM___closed__2 = _init_l_Lean_Parser_Term_andM___closed__2();
-lean::mark_persistent(l_Lean_Parser_Term_andM___closed__2);
-l_Lean_Parser_Term_andM___closed__3 = _init_l_Lean_Parser_Term_andM___closed__3();
-lean::mark_persistent(l_Lean_Parser_Term_andM___closed__3);
-l_Lean_Parser_Term_andM = _init_l_Lean_Parser_Term_andM();
-lean::mark_persistent(l_Lean_Parser_Term_andM);
-lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "andM"), l_Lean_Parser_Term_andM);
-w = l___regBuiltinParser_Lean_Parser_Term_andM(w);
+l_Lean_Parser_Term_mapRev___elambda__1___closed__1 = _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev___elambda__1___closed__1);
+l_Lean_Parser_Term_mapRev___elambda__1___closed__2 = _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev___elambda__1___closed__2);
+l_Lean_Parser_Term_mapRev___elambda__1___closed__3 = _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev___elambda__1___closed__3);
+l_Lean_Parser_Term_mapRev___elambda__1___closed__4 = _init_l_Lean_Parser_Term_mapRev___elambda__1___closed__4();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev___elambda__1___closed__4);
+l_Lean_Parser_Term_mapRev___closed__1 = _init_l_Lean_Parser_Term_mapRev___closed__1();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev___closed__1);
+l_Lean_Parser_Term_mapRev___closed__2 = _init_l_Lean_Parser_Term_mapRev___closed__2();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev___closed__2);
+l_Lean_Parser_Term_mapRev___closed__3 = _init_l_Lean_Parser_Term_mapRev___closed__3();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev___closed__3);
+l_Lean_Parser_Term_mapRev = _init_l_Lean_Parser_Term_mapRev();
+lean::mark_persistent(l_Lean_Parser_Term_mapRev);
+lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "mapRev"), l_Lean_Parser_Term_mapRev);
+w = l___regBuiltinParser_Lean_Parser_Term_mapRev(w);
if (io_result_is_error(w)) return w;
l_Lean_Parser_Term_seq___elambda__1___closed__1 = _init_l_Lean_Parser_Term_seq___elambda__1___closed__1();
lean::mark_persistent(l_Lean_Parser_Term_seq___elambda__1___closed__1);