From f0899b381df0ac11475e1acf0ef8d1fd2c9784ec Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Wed, 17 Jul 2019 14:58:27 -0700 Subject: [PATCH] feat(library/init/lean/parser/module): add `displayStx` param --- library/init/lean/parser/module.lean | 9 +- src/shell/lean.cpp | 4 +- src/stage0/CMakeLists.txt | 2 +- src/stage0/init/lean/attributes.cpp | 1169 +------- src/stage0/init/lean/parser/command.cpp | 3181 ++++++++++---------- src/stage0/init/lean/parser/level.cpp | 20 +- src/stage0/init/lean/parser/module.cpp | 378 ++- src/stage0/init/lean/parser/parser.cpp | 886 +++--- src/stage0/init/lean/parser/term.cpp | 3514 +++++++++++++++-------- 9 files changed, 4735 insertions(+), 4428 deletions(-) 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);