diff --git a/src/stage0/init/control/lift.cpp b/src/stage0/init/control/lift.cpp index a1f518b239..0720ed299d 100644 --- a/src/stage0/init/control/lift.cpp +++ b/src/stage0/init/control/lift.cpp @@ -14,6 +14,8 @@ 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_hasMonadLiftToHasCoe___elambda__1___rarg(obj*, obj*); +obj* l_hasMonadLiftToHasCoe___elambda__1___boxed(obj*, obj*, obj*); obj* l_monadFunctorTTrans(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_hasMonadLiftTRefl___rarg(obj*); obj* l_hasMonadLiftToHasCoe___boxed(obj*, obj*); @@ -23,6 +25,7 @@ obj* l_monadFunctorTRefl___boxed(obj*, obj*, obj*); obj* l_hasMonadLiftTTrans___rarg(obj*, obj*, obj*, obj*); obj* l_hasMonadLiftTRefl___boxed(obj*, obj*); obj* l_monadFunctorTRefl___rarg(obj*, obj*); +obj* l_hasMonadLiftToHasCoe___elambda__1(obj*, obj*, obj*); obj* l_monadFunctorTRefl(obj*, obj*, obj*); obj* l_hasMonadLiftTRefl(obj*, obj*); obj* l_hasMonadLiftTTrans(obj*, obj*, obj*); @@ -31,11 +34,28 @@ obj* l_hasMonadLiftTTrans___boxed(obj*, obj*, obj*); obj* l_monadFunctorTTrans___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_hasMonadLiftToHasCoe___rarg(obj*, obj*); obj* l_monadFunctorTTrans___rarg___lambda__1(obj*, obj*, obj*, obj*); +obj* l_hasMonadLiftToHasCoe___elambda__1___rarg(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = lean::apply_2(x_1, lean::box(0), x_2); +return x_3; +} +} +obj* l_hasMonadLiftToHasCoe___elambda__1(obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = lean::alloc_closure(reinterpret_cast(l_hasMonadLiftToHasCoe___elambda__1___rarg), 2, 0); +return x_4; +} +} obj* l_hasMonadLiftToHasCoe___rarg(obj* x_1, obj* x_2) { _start: { obj* x_3; -x_3 = lean::apply_1(x_1, lean::box(0)); +x_3 = lean::alloc_closure(reinterpret_cast(l_hasMonadLiftToHasCoe___elambda__1___rarg), 2, 1); +lean::closure_set(x_3, 0, x_1); return x_3; } } @@ -47,6 +67,16 @@ x_3 = lean::alloc_closure(reinterpret_cast(l_hasMonadLiftToHasCoe___rarg) return x_3; } } +obj* l_hasMonadLiftToHasCoe___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_hasMonadLiftToHasCoe___elambda__1(x_1, x_2, x_3); +lean::dec(x_2); +lean::dec(x_1); +return x_4; +} +} obj* l_hasMonadLiftToHasCoe___boxed(obj* x_1, obj* x_2) { _start: { diff --git a/src/stage0/init/data/dlist.cpp b/src/stage0/init/data/dlist.cpp index 14dd1a9d24..8f366ee79e 100644 --- a/src/stage0/init/data/dlist.cpp +++ b/src/stage0/init/data/dlist.cpp @@ -20,18 +20,20 @@ obj* l_DList_cons___main(obj*); obj* l_DList_singleton___elambda__1___rarg(obj*, obj*); obj* l_DList_push(obj*); obj* l_DList_toList___rarg(obj*); +obj* l_DList_append___main___elambda__1___rarg(obj*, obj*, obj*); obj* l_DList_HasAppend___closed__1; -obj* l_Function_comp___rarg(obj*, obj*, obj*); obj* l_DList_HasEmptyc(obj*); obj* l_DList_cons___rarg(obj*, obj*); -obj* l_id___rarg___boxed(obj*); obj* l_DList_singleton(obj*); obj* l_DList_toList(obj*); obj* l_DList_append___rarg(obj*, obj*); obj* l_DList_toList___main(obj*); obj* l_DList_cons___main___elambda__1___rarg(obj*, obj*, obj*); +obj* l_DList_HasEmptyc___closed__1; +obj* l_DList_empty___elambda__1___rarg___boxed(obj*); obj* l_DList_cons___main___rarg(obj*, obj*); obj* l_DList_HasAppend(obj*); +obj* l_DList_empty___elambda__1(obj*); obj* l_List_append___rarg(obj*, obj*); obj* l_DList_cons(obj*); obj* l_DList_toList___main___rarg(obj*); @@ -39,20 +41,40 @@ obj* l_DList_append___main___rarg(obj*, obj*); obj* l_DList_empty(obj*); obj* l_DList_push___rarg(obj*, obj*); obj* l_DList_push___main___elambda__1___rarg(obj*, obj*, obj*); +obj* l_DList_append___main___elambda__1(obj*); obj* l_DList_singleton___rarg(obj*); obj* l_DList_empty___closed__1; +obj* l_DList_empty___elambda__1___rarg(obj*); obj* l_DList_push___main___elambda__1(obj*); obj* l_DList_push___main___rarg(obj*, obj*); +obj* l_DList_ofList___elambda__1___rarg(obj*, obj*); obj* l_DList_cons___main___elambda__1(obj*); obj* l_DList_push___main(obj*); obj* l_DList_ofList(obj*); obj* l_DList_singleton___elambda__1(obj*); +obj* l_DList_ofList___elambda__1(obj*); obj* l_DList_ofList___rarg(obj*); +obj* l_DList_ofList___elambda__1___rarg(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_List_append___rarg(x_1, x_2); +return x_3; +} +} +obj* l_DList_ofList___elambda__1(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_DList_ofList___elambda__1___rarg), 2, 0); +return x_2; +} +} obj* l_DList_ofList___rarg(obj* x_1) { _start: { obj* x_2; -x_2 = lean::alloc_closure(reinterpret_cast(l_List_append___rarg), 2, 1); +x_2 = lean::alloc_closure(reinterpret_cast(l_DList_ofList___elambda__1___rarg), 2, 1); lean::closure_set(x_2, 0, x_1); return x_2; } @@ -65,11 +87,26 @@ x_2 = lean::alloc_closure(reinterpret_cast(l_DList_ofList___rarg), 1, 0); return x_2; } } +obj* l_DList_empty___elambda__1___rarg(obj* x_1) { +_start: +{ +lean::inc(x_1); +return x_1; +} +} +obj* l_DList_empty___elambda__1(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_DList_empty___elambda__1___rarg___boxed), 1, 0); +return x_2; +} +} obj* _init_l_DList_empty___closed__1() { _start: { obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_id___rarg___boxed), 1, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_DList_empty___elambda__1___rarg___boxed), 1, 0); return x_1; } } @@ -81,11 +118,28 @@ x_2 = l_DList_empty___closed__1; return x_2; } } +obj* l_DList_empty___elambda__1___rarg___boxed(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_DList_empty___elambda__1___rarg(x_1); +lean::dec(x_1); +return x_2; +} +} +obj* _init_l_DList_HasEmptyc___closed__1() { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_DList_empty___elambda__1___rarg___boxed), 1, 0); +return x_1; +} +} obj* l_DList_HasEmptyc(obj* x_1) { _start: { obj* x_2; -x_2 = l_DList_empty___closed__1; +x_2 = l_DList_HasEmptyc___closed__1; return x_2; } } @@ -212,11 +266,28 @@ x_2 = lean::alloc_closure(reinterpret_cast(l_DList_cons___rarg), 2, 0); return x_2; } } +obj* l_DList_append___main___elambda__1___rarg(obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; obj* x_5; +x_4 = lean::apply_1(x_2, x_3); +x_5 = lean::apply_1(x_1, x_4); +return x_5; +} +} +obj* l_DList_append___main___elambda__1(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_DList_append___main___elambda__1___rarg), 3, 0); +return x_2; +} +} obj* l_DList_append___main___rarg(obj* x_1, obj* x_2) { _start: { obj* x_3; -x_3 = lean::alloc_closure(reinterpret_cast(l_Function_comp___rarg), 3, 2); +x_3 = lean::alloc_closure(reinterpret_cast(l_DList_append___main___elambda__1___rarg), 3, 2); lean::closure_set(x_3, 0, x_1); lean::closure_set(x_3, 1, x_2); return x_3; @@ -234,7 +305,7 @@ obj* l_DList_append___rarg(obj* x_1, obj* x_2) { _start: { obj* x_3; -x_3 = lean::alloc_closure(reinterpret_cast(l_Function_comp___rarg), 3, 2); +x_3 = lean::alloc_closure(reinterpret_cast(l_DList_append___main___elambda__1___rarg), 3, 2); lean::closure_set(x_3, 0, x_1); lean::closure_set(x_3, 1, x_2); return x_3; @@ -331,6 +402,8 @@ REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name("DList"), "ofList l_DList_empty___closed__1 = _init_l_DList_empty___closed__1(); lean::mark_persistent(l_DList_empty___closed__1); REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name("DList"), "empty"), 1, l_DList_empty); +l_DList_HasEmptyc___closed__1 = _init_l_DList_HasEmptyc___closed__1(); +lean::mark_persistent(l_DList_HasEmptyc___closed__1); REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name("DList"), "HasEmptyc"), 1, l_DList_HasEmptyc); REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name("DList"), "toList"), 1, l_DList_toList); REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name("DList"), "singleton"), 1, l_DList_singleton); diff --git a/src/stage0/init/lean/parser/level.cpp b/src/stage0/init/lean/parser/level.cpp index 40e9abf667..7517a662f3 100644 --- a/src/stage0/init/lean/parser/level.cpp +++ b/src/stage0/init/lean/parser/level.cpp @@ -23,6 +23,7 @@ obj* l_Lean_Parser_symbolInfo(obj*, obj*); obj* l_Lean_Parser_Level_max___elambda__1___closed__2; obj* l_Lean_Parser_andthenInfo(obj*, obj*); obj* l_Lean_Parser_Level_max; +obj* l_Lean_Parser_Level_ident___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Level_max___elambda__1___closed__1; obj* l_Lean_Parser_Level_addLit___elambda__1___closed__1; obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__1; @@ -42,6 +43,7 @@ obj* l_Lean_Parser_levelParser(uint8, obj*); obj* l_Lean_Parser_Level_num; obj* l___regBuiltinParser_Lean_Parser_Level_addLit(obj*); obj* l_Lean_Parser_Level_max___elambda__1___closed__3; +obj* l_Lean_Parser_Level_num___elambda__1___boxed(obj*); obj* l___regBuiltinParser_Lean_Parser_Level_hole(obj*); obj* l_Lean_Parser_Level_addLit___elambda__1___closed__3; obj* l_Lean_Parser_Level_paren___elambda__1(obj*); @@ -58,6 +60,7 @@ obj* l_Lean_Parser_Level_addLit___elambda__1___closed__2; obj* l_Lean_Parser_levelParser___boxed(obj*, obj*); extern "C" obj* lean_name_mk_string(obj*, obj*); obj* l_Lean_Parser_Level_imax___elambda__1___closed__2; +obj* l_Lean_Parser_Level_num___elambda__1(obj*); obj* l___regBuiltinParser_Lean_Parser_Level_imax(obj*); extern obj* l_Lean_nullKind; obj* l_Lean_Parser_Level_hole___elambda__1___rarg(obj*, obj*); @@ -66,17 +69,19 @@ obj* l_Lean_Parser_levelParserFn___rarg___closed__1; namespace lean { uint8 nat_dec_eq(obj*, obj*); } +obj* l_Lean_Parser_Level_ident___elambda__1___boxed(obj*); obj* l_Lean_Parser_Level_hole___elambda__1___rarg___closed__3; obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__3; obj* l_Lean_Parser_Level_hole___elambda__1___rarg___closed__1; +obj* l_Lean_Parser_Level_ident___elambda__1(obj*); obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__4; obj* l_Lean_Parser_numLitFn___rarg(obj*, obj*); obj* l_Lean_Parser_ParserState_pushSyntax(obj*, obj*); obj* l_Lean_Parser_Level_imax; obj* l_Lean_Parser_regBuiltinLevelParserAttr(obj*); obj* l_Lean_Parser_Level_hole___elambda__1___boxed(obj*); +obj* l_Lean_Parser_identFn___rarg(obj*, obj*); obj* l_String_trim(obj*); -obj* l_Lean_Parser_numLitFn___boxed(obj*, obj*); obj* l_Lean_Parser_levelParserFn___boxed(obj*); obj* l_Lean_Parser_Level_addLit___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Level_hole___elambda__1(obj*); @@ -85,7 +90,7 @@ obj* l_Lean_Parser_ParserState_mkError(obj*, obj*); obj* l_Lean_Parser_nodeInfo(obj*); obj* l_Array_size(obj*, obj*); obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__5; -obj* l_Lean_Parser_identFn___boxed(obj*, obj*); +obj* l_Lean_Parser_Level_num___elambda__1___rarg(obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Level_ident___closed__1; obj* l_Lean_Parser_levelParserFn___rarg(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_regBuiltinLevelParserAttr___closed__1; @@ -846,20 +851,42 @@ x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; } } +obj* l_Lean_Parser_Level_num___elambda__1___rarg(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_Lean_Parser_numLitFn___rarg(x_1, x_2); +return x_3; +} +} +obj* l_Lean_Parser_Level_num___elambda__1(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Level_num___elambda__1___rarg), 2, 0); +return x_2; +} +} obj* _init_l_Lean_Parser_Level_num() { _start: { -obj* x_1; obj* x_2; uint8 x_3; obj* x_4; obj* x_5; obj* x_6; +obj* x_1; obj* x_2; obj* x_3; obj* x_4; x_1 = lean::mk_string("numLit"); x_2 = l_Lean_Parser_mkAtomicInfo(x_1); -x_3 = 0; -x_4 = lean::box(x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_numLitFn___boxed), 2, 1); -lean::closure_set(x_5, 0, x_4); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_2); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Level_num___elambda__1___boxed), 1, 0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_2); +lean::cnstr_set(x_4, 1, x_3); +return x_4; +} +} +obj* l_Lean_Parser_Level_num___elambda__1___boxed(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_Lean_Parser_Level_num___elambda__1(x_1); +lean::dec(x_1); +return x_2; } } obj* _init_l___regBuiltinParser_Lean_Parser_Level_num___closed__1() { @@ -889,20 +916,42 @@ x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; } } +obj* l_Lean_Parser_Level_ident___elambda__1___rarg(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_Lean_Parser_identFn___rarg(x_1, x_2); +return x_3; +} +} +obj* l_Lean_Parser_Level_ident___elambda__1(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Level_ident___elambda__1___rarg), 2, 0); +return x_2; +} +} obj* _init_l_Lean_Parser_Level_ident() { _start: { -obj* x_1; obj* x_2; uint8 x_3; obj* x_4; obj* x_5; obj* x_6; +obj* x_1; obj* x_2; obj* x_3; obj* x_4; x_1 = lean::mk_string("ident"); x_2 = l_Lean_Parser_mkAtomicInfo(x_1); -x_3 = 0; -x_4 = lean::box(x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_identFn___boxed), 2, 1); -lean::closure_set(x_5, 0, x_4); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_2); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Level_ident___elambda__1___boxed), 1, 0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_2); +lean::cnstr_set(x_4, 1, x_3); +return x_4; +} +} +obj* l_Lean_Parser_Level_ident___elambda__1___boxed(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_Lean_Parser_Level_ident___elambda__1(x_1); +lean::dec(x_1); +return x_2; } } obj* _init_l___regBuiltinParser_Lean_Parser_Level_ident___closed__1() { diff --git a/src/stage0/init/lean/parser/parser.cpp b/src/stage0/init/lean/parser/parser.cpp index 9048db9149..300f01d7fa 100644 --- a/src/stage0/init/lean/parser/parser.cpp +++ b/src/stage0/init/lean/parser/parser.cpp @@ -66,6 +66,7 @@ obj* l_RBNode_find___main___at_Lean_Parser_indexed___spec__1___rarg___boxed(obj* obj* l___private_init_lean_parser_parser_1__sepByFnAux___main(uint8, obj*, obj*, uint8, obj*, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_builtinCommandParsingTable; uint8 l_Lean_isIdEndEscape(uint32); +obj* l_Lean_Parser_nodeInfo___elambda__1(obj*, obj*); obj* l_Lean_Parser_ParserState_restore(obj*, obj*, obj*); obj* l_Lean_Parser_anyOfFn___main___closed__1; obj* l_Lean_Parser_commandParser___elambda__1(obj*, obj*, obj*, obj*); @@ -137,7 +138,6 @@ obj* l_Lean_Parser_addBuiltinLeadingParser___closed__1; obj* l_Lean_Parser_longestMatchFn___main___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_registerBuiltinParserAttribute___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Name_toStringWithSep___main(obj*, obj*); -obj* l_Lean_Parser_sepBy___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_RBNode_insert___at_Lean_Parser_TokenMap_insert___spec__2___rarg(obj*, obj*, obj*); obj* l_Lean_Parser_unicodeSymbolCheckPrecFn___closed__1; obj* l_IO_ofExcept___at_Lean_Parser_declareBuiltinParser___spec__1___boxed(obj*, obj*); @@ -145,7 +145,6 @@ obj* l___private_init_lean_parser_parser_3__isToken___boxed(obj*); obj* l_Lean_Parser_appPrec; obj* l_Lean_Parser_strLitFn___rarg___closed__1; obj* l_Lean_Parser_symbolFnAux___boxed(obj*, obj*, obj*, obj*); -obj* l_Lean_Parser_symbolAux___lambda__1___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_identFnAux___main___closed__1; obj* l_Lean_Parser_satisfyFn___main___at_Lean_Parser_binNumberFn___spec__1___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_symbolFnAux(obj*, obj*, obj*, obj*); @@ -179,7 +178,6 @@ obj* l_Lean_Parser_mkAtomicInfo(obj*); obj* l_Lean_Parser_satisfyFn___main(obj*, obj*, obj*, obj*); obj* l_RBNode_find___main___at_Lean_Parser_TokenMap_insert___spec__1(obj*); obj* l_Lean_Parser_mkParserState(obj*); -obj* l_Lean_Parser_many___lambda__1(obj*, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_nodeFn___boxed(obj*); obj* l_Lean_Parser_hexNumberFn___closed__1; obj* l_Lean_Parser_addBuiltinTrailingParser___boxed(obj*, obj*, obj*, obj*); @@ -212,9 +210,7 @@ obj* l_RBNode_ins___main___at_Lean_Parser_TokenMap_insert___spec__3___rarg(obj*, obj* l_Lean_Parser_quotedCharFn___boxed(obj*, obj*); obj* l_Lean_Parser_whitespace(obj*, obj*); obj* l_Lean_Parser_declareBuiltinParser___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_Lean_Parser_many1___lambda__1(obj*, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_insertToken___closed__1; -obj* l_Lean_Parser_sepBy1___lambda__1(obj*, obj*, uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_trailingLoop___main___boxed(obj*, obj*, obj*, obj*, obj*); extern obj* l_Lean_initAttr; obj* l_RBNode_ins___main___at_Lean_Parser_TokenMap_insert___spec__3(obj*); @@ -228,7 +224,6 @@ obj* l_Lean_Parser_andthen___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_currLbp___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_nodeFn___main___boxed(obj*); obj* l_Lean_Parser_symbolNoWsFn___boxed(obj*, obj*, obj*, obj*); -obj* l_Lean_Parser_optional___lambda__1(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_ParserState_mkEOIError___closed__1; extern "C" obj* lean_expr_mk_const(obj*, obj*); obj* l_Lean_Parser_hashOrelse___boxed(obj*); @@ -245,8 +240,8 @@ obj* l___private_init_lean_parser_parser_2__rawAux___main(uint8); obj* l_Lean_Parser_binNumberFn___closed__1; obj* l_Lean_Parser_fieldIdx___lambda__1(obj*, obj*, obj*); obj* l___private_init_lean_parser_parser_2__rawAux(uint8); -obj* l_Lean_Parser_sepBy___lambda__1(obj*, obj*, uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3(obj*, obj*); +obj* l_Lean_Parser_symbolInfo___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_ParserState_mergeErrors___closed__1; uint8 l_Lean_isIdBeginEscape(uint32); obj* l_Lean_Parser_mkEmptySubstringAt(obj*, obj*); @@ -276,7 +271,6 @@ obj* l_Lean_Parser_runParser___boxed(obj*, obj*, obj*, obj*, obj*); uint8 l_UInt32_decLe(uint32, uint32); extern obj* l_List_reprAux___main___rarg___closed__1; obj* l_Lean_Parser_optionalFn(uint8); -obj* l_Lean_Parser_unicodeSymbol___lambda__1(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_FirstTokens_toStr___main___closed__2; namespace lean { uint8 string_utf8_at_end(obj*, obj*); @@ -300,7 +294,6 @@ obj* l_Lean_Parser_ident(uint8); obj* l_Lean_Parser_tokenFn(obj*, obj*); extern obj* l_Lean_registerTagAttribute___closed__6; extern obj* l_Char_HasRepr___closed__1; -obj* l_Lean_Parser_unicodeSymbol___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_tryFn___rarg(obj*, obj*, obj*, obj*); obj* l_RBNode_ins___main___at_Lean_Parser_TokenMap_insert___spec__7___rarg(obj*, obj*, obj*); extern obj* l_Lean_registerTagAttribute___lambda__5___closed__4; @@ -312,7 +305,6 @@ uint8 l_Lean_Syntax_isMissing___main(obj*); obj* l_Lean_Parser_sepByFn(uint8, uint8, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_whitespace___boxed(obj*, obj*); obj* l_List_append___rarg(obj*, obj*); -obj* l_Lean_Parser_sepBy1___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_fieldIdxFn___boxed(obj*, obj*); obj* l_Lean_Parser_declareBuiltinParser___closed__2; obj* l_Lean_Parser_orelseFn___main___boxed(obj*); @@ -374,7 +366,6 @@ obj* l_Lean_Parser_regBuiltinCommandParserAttr___closed__2; obj* l_Lean_Parser_TokenConfig_toStr___main___closed__2; obj* l_Lean_Parser_TokenMap_insert(obj*); obj* l_Lean_Parser_takeUntilFn___main___boxed(obj*, obj*, obj*); -obj* l_Lean_Parser_many1___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_manyAux___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_takeWhileFn___at_Lean_Parser_identFnAux___main___spec__1(obj*, obj*); obj* l_Lean_Parser_symbolFn___rarg___boxed(obj*, obj*, obj*, obj*); @@ -390,6 +381,7 @@ uint32 string_utf8_get(obj*, obj*); obj* l_Lean_Parser_longestMatchFn___boxed(obj*, obj*, obj*, obj*, obj*); 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_takeWhile1Fn___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_leadingNode(obj*, obj*); @@ -408,7 +400,6 @@ obj* l_Lean_Parser_many(uint8, obj*); obj* l_Lean_Parser_finishCommentBlock___main(obj*, obj*, obj*); uint8 l_Lean_Parser_TokenConfig_beq(obj*, obj*); obj* l___private_init_lean_parser_parser_4__tokenFnAux(obj*, obj*); -obj* l_Lean_Parser_node___lambda__1(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_mkCApp(obj*, obj*); obj* l_Lean_Parser_numLitFn___rarg(obj*, obj*); obj* l_Lean_Parser_noFirstTokenInfo(obj*); @@ -452,7 +443,6 @@ obj* l_Lean_Parser_sepBy1___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_symbolNoWsFn___closed__1; obj* l_Array_shrink___main___rarg(obj*, obj*); obj* l_Lean_registerTagAttribute___lambda__7___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_Lean_Parser_andthen___lambda__1(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_unicodeSymbolFn___boxed(obj*); obj* l_Lean_Parser_fieldIdx___boxed(obj*); obj* l_Lean_Parser_numLitFn___boxed(obj*, obj*); @@ -469,7 +459,6 @@ obj* l_Lean_Parser_unicodeSymbolCheckPrecFn___boxed(obj*, obj*, obj*, obj*, obj* obj* l_Lean_Parser_identFnAux(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_strAux(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_declareBuiltinParser___closed__3; -obj* l_Lean_Parser_orelse___lambda__1(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_ParametricAttribute_setParam___rarg(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_unicodeSymbolFn___rarg___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_takeWhileFn___spec__1___boxed(obj*, obj*, obj*); @@ -515,7 +504,6 @@ obj* l_Lean_Parser_unicodeSymbolFn___rarg(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_identFn___boxed(obj*, obj*); obj* l_RBNode_ins___main___at_Lean_Parser_TokenMap_insert___spec__4(obj*); obj* l_Lean_Parser_satisfyFn___main___at_Lean_Parser_hexNumberFn___spec__1(obj*, obj*, obj*); -obj* l_Lean_Parser_try___lambda__1(obj*, obj*, obj*, obj*); extern obj* l_Lean_registerTagAttribute___lambda__5___closed__3; obj* l_Lean_Parser_mkIdResult(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_mkIdResult___boxed(obj*, obj*, obj*, obj*, obj*); @@ -545,7 +533,6 @@ namespace lean { obj* string_utf8_extract(obj*, obj*, obj*); } obj* l_Lean_Parser_strLit___boxed(obj*); -obj* l_Lean_Parser_symbolAux___lambda__1(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_orelseFn___boxed(obj*); obj* l_Lean_Parser_mkBuiltinParsingTablesRef___closed__1; namespace lean { @@ -583,13 +570,13 @@ obj* l_Lean_Parser_satisfyFn(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_fieldIdx(uint8); obj* l_Lean_Parser_orelse___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_insertToken___closed__3; +obj* l_Lean_Parser_noFirstTokenInfo___elambda__1(obj*, obj*); obj* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2___boxed(obj*, obj*); obj* l_Lean_Parser_declareTrailingBuiltinParser___closed__1; obj* l_Lean_Parser_FirstTokens_seq___main(obj*, obj*); extern obj* l_List_repr___main___rarg___closed__2; obj* l_Lean_Parser_declareBuiltinParser(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3(obj*, obj*); -obj* l_Lean_Parser_symbolNoWsAux___lambda__1(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_registerBuiltinParserAttribute___lambda__1___closed__1; obj* l_Lean_Parser_hexDigitFn(obj*, obj*); obj* l_Lean_Parser_takeWhileFn___boxed(obj*, obj*, obj*); @@ -622,7 +609,6 @@ obj* l_Lean_Parser_pushLeadingFn___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_ParserFn_inhabited___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_commandParser___elambda__1___closed__1; obj* l_Lean_Parser_fieldIdx___closed__1; -obj* l_Lean_Parser_symbolNoWsAux___lambda__1___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_hashAndthen___boxed(obj*); obj* l_Lean_Parser_trailingLoop(obj*); extern obj* l_Lean_fieldIdxKind; @@ -636,7 +622,6 @@ obj* l___private_init_lean_parser_parser_3__isToken(obj*); obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_ParserState_replaceLongest___boxed(obj*, obj*, obj*); obj* l_Lean_registerTagAttribute___lambda__6___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_Lean_Parser_many___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_sepByInfo(obj*, obj*); obj* l_Lean_Parser_longestMatchFnAux___main(uint8, obj*, obj*, obj*, obj*, obj*, obj*); extern obj* l_String_splitAux___main___closed__1; @@ -2171,53 +2156,28 @@ lean::cnstr_set(x_7, 1, x_6); return x_7; } } -obj* l_Lean_Parser_andthen___lambda__1(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; -x_6 = lean::cnstr_get(x_1, 1); -lean::inc(x_6); -lean::dec(x_1); -x_7 = lean::cnstr_get(x_2, 1); -lean::inc(x_7); -lean::dec(x_2); -lean::inc(x_4); -lean::inc(x_3); -x_8 = lean::apply_3(x_6, x_3, x_4, x_5); -x_9 = lean::cnstr_get(x_8, 3); -lean::inc(x_9); -if (lean::obj_tag(x_9) == 0) -{ -obj* x_10; -x_10 = lean::apply_3(x_7, x_3, x_4, x_8); -return x_10; -} -else -{ -lean::dec(x_9); -lean::dec(x_7); -lean::dec(x_4); -lean::dec(x_3); -return x_8; -} -} -} obj* l_Lean_Parser_andthen(uint8 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_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; x_4 = lean::cnstr_get(x_2, 0); lean::inc(x_4); x_5 = lean::cnstr_get(x_3, 0); lean::inc(x_5); x_6 = l_Lean_Parser_andthenInfo(x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthen___lambda__1), 5, 2); -lean::closure_set(x_7, 0, x_2); -lean::closure_set(x_7, 1, x_3); -x_8 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_8, 0, x_6); -lean::cnstr_set(x_8, 1, x_7); -return x_8; +x_7 = lean::cnstr_get(x_2, 1); +lean::inc(x_7); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_9 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_9, 0, x_7); +lean::closure_set(x_9, 1, x_8); +x_10 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_10, 0, x_6); +lean::cnstr_set(x_10, 1, x_9); +return x_10; } } obj* l_Lean_Parser_andthen___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -2312,60 +2272,63 @@ x_3 = l_Lean_Parser_nodeFn(x_2); return x_3; } } +obj* l_Lean_Parser_nodeInfo___elambda__1(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; obj* x_4; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_4 = lean::apply_1(x_3, x_2); +return x_4; +} +} obj* l_Lean_Parser_nodeInfo(obj* x_1) { _start: { -uint8 x_2; -x_2 = !lean::is_exclusive(x_1); -if (x_2 == 0) +obj* x_2; uint8 x_3; +lean::inc(x_1); +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_nodeInfo___elambda__1), 2, 1); +lean::closure_set(x_2, 0, x_1); +x_3 = !lean::is_exclusive(x_1); +if (x_3 == 0) { +obj* x_4; +x_4 = lean::cnstr_get(x_1, 0); +lean::dec(x_4); +lean::cnstr_set(x_1, 0, x_2); return x_1; } else { -obj* x_3; obj* x_4; obj* x_5; -x_3 = lean::cnstr_get(x_1, 0); -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::inc(x_3); +obj* x_5; obj* x_6; +x_5 = lean::cnstr_get(x_1, 1); +lean::inc(x_5); lean::dec(x_1); -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_3); -lean::cnstr_set(x_5, 1, x_4); -return x_5; +x_6 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_6, 0, x_2); +lean::cnstr_set(x_6, 1, x_5); +return x_6; } } } -obj* l_Lean_Parser_node___lambda__1(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; obj* x_10; -x_6 = lean::cnstr_get(x_1, 1); -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::apply_3(x_6, x_3, x_4, x_5); -x_10 = l_Lean_Parser_ParserState_mkNode(x_9, x_2, x_8); -return x_10; -} -} obj* l_Lean_Parser_node(uint8 x_1, obj* x_2, obj* x_3) { _start: { -obj* x_4; obj* x_5; obj* x_6; obj* x_7; +obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; x_4 = lean::cnstr_get(x_3, 0); lean::inc(x_4); x_5 = l_Lean_Parser_nodeInfo(x_4); -x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_node___lambda__1), 5, 2); -lean::closure_set(x_6, 0, x_3); -lean::closure_set(x_6, 1, x_2); -x_7 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_7, 0, x_5); -lean::cnstr_set(x_7, 1, x_6); -return x_7; +x_6 = lean::cnstr_get(x_3, 1); +lean::inc(x_6); +lean::dec(x_3); +x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_nodeFn___rarg), 5, 2); +lean::closure_set(x_7, 0, x_2); +lean::closure_set(x_7, 1, x_6); +x_8 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_8, 0, x_5); +lean::cnstr_set(x_8, 1, x_7); +return x_8; } } obj* l_Lean_Parser_node___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -2381,33 +2344,39 @@ return x_5; obj* l_Lean_Parser_leadingNode(obj* x_1, obj* x_2) { _start: { -obj* x_3; obj* x_4; obj* x_5; obj* x_6; +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 = l_Lean_Parser_nodeInfo(x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_node___lambda__1), 5, 2); -lean::closure_set(x_5, 0, x_2); -lean::closure_set(x_5, 1, x_1); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_4); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_5 = lean::cnstr_get(x_2, 1); +lean::inc(x_5); +lean::dec(x_2); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_nodeFn___rarg), 5, 2); +lean::closure_set(x_6, 0, x_1); +lean::closure_set(x_6, 1, x_5); +x_7 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_6); +return x_7; } } obj* l_Lean_Parser_trailingNode(obj* x_1, obj* x_2) { _start: { -obj* x_3; obj* x_4; obj* x_5; obj* x_6; +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 = l_Lean_Parser_nodeInfo(x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_node___lambda__1), 5, 2); -lean::closure_set(x_5, 0, x_2); -lean::closure_set(x_5, 1, x_1); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_4); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_5 = lean::cnstr_get(x_2, 1); +lean::inc(x_5); +lean::dec(x_2); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_nodeFn___rarg), 5, 2); +lean::closure_set(x_6, 0, x_1); +lean::closure_set(x_6, 1, x_5); +x_7 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_6); +return x_7; } } obj* l_Lean_Parser_orelseFn___main___rarg(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { @@ -2614,80 +2583,28 @@ lean::cnstr_set(x_7, 1, x_6); return x_7; } } -obj* l_Lean_Parser_orelse___lambda__1(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; obj* x_10; obj* x_11; obj* x_12; -x_6 = lean::cnstr_get(x_1, 1); -lean::inc(x_6); -lean::dec(x_1); -x_7 = lean::cnstr_get(x_2, 1); -lean::inc(x_7); -lean::dec(x_2); -x_8 = lean::cnstr_get(x_5, 0); -lean::inc(x_8); -x_9 = lean::array_get_size(x_8); -lean::dec(x_8); -x_10 = lean::cnstr_get(x_5, 1); -lean::inc(x_10); -lean::inc(x_4); -lean::inc(x_3); -x_11 = lean::apply_3(x_6, 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_10); -lean::dec(x_9); -lean::dec(x_7); -lean::dec(x_4); -lean::dec(x_3); -return x_11; -} -else -{ -obj* x_13; uint8 x_14; -lean::dec(x_12); -x_13 = lean::cnstr_get(x_11, 1); -lean::inc(x_13); -x_14 = lean::nat_dec_eq(x_13, x_10); -lean::dec(x_13); -if (x_14 == 0) -{ -lean::dec(x_10); -lean::dec(x_9); -lean::dec(x_7); -lean::dec(x_4); -lean::dec(x_3); -return x_11; -} -else -{ -obj* x_15; obj* x_16; -x_15 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10); -lean::dec(x_9); -x_16 = lean::apply_3(x_7, x_3, x_4, x_15); -return x_16; -} -} -} -} obj* l_Lean_Parser_orelse(uint8 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_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; x_4 = lean::cnstr_get(x_2, 0); lean::inc(x_4); x_5 = lean::cnstr_get(x_3, 0); lean::inc(x_5); x_6 = l_Lean_Parser_orelseInfo(x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_orelse___lambda__1), 5, 2); -lean::closure_set(x_7, 0, x_2); -lean::closure_set(x_7, 1, x_3); -x_8 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_8, 0, x_6); -lean::cnstr_set(x_8, 1, x_7); -return x_8; +x_7 = lean::cnstr_get(x_2, 1); +lean::inc(x_7); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_9 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_orelseFn___rarg), 5, 2); +lean::closure_set(x_9, 0, x_7); +lean::closure_set(x_9, 1, x_8); +x_10 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_10, 0, x_6); +lean::cnstr_set(x_10, 1, x_9); +return x_10; } } obj* l_Lean_Parser_orelse___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -2720,32 +2637,28 @@ x_3 = l_Lean_Parser_hashOrelse(x_2); return x_3; } } +obj* l_Lean_Parser_noFirstTokenInfo___elambda__1(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; obj* x_4; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_4 = lean::apply_1(x_3, x_2); +return x_4; +} +} obj* l_Lean_Parser_noFirstTokenInfo(obj* x_1) { _start: { -uint8 x_2; -x_2 = !lean::is_exclusive(x_1); -if (x_2 == 0) -{ -obj* x_3; obj* x_4; -x_3 = lean::cnstr_get(x_1, 1); -lean::dec(x_3); -x_4 = lean::box(1); -lean::cnstr_set(x_1, 1, x_4); -return x_1; -} -else -{ -obj* x_5; obj* x_6; obj* x_7; -x_5 = lean::cnstr_get(x_1, 0); -lean::inc(x_5); -lean::dec(x_1); -x_6 = lean::box(1); -x_7 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_7, 0, x_5); -lean::cnstr_set(x_7, 1, x_6); -return x_7; -} +obj* x_2; obj* x_3; obj* x_4; +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_noFirstTokenInfo___elambda__1), 2, 1); +lean::closure_set(x_2, 0, x_1); +x_3 = lean::box(1); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_2); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } } obj* l_Lean_Parser_tryFn___main___rarg(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { @@ -2898,63 +2811,6 @@ x_3 = l_Lean_Parser_tryFn(x_2); return x_3; } } -obj* l_Lean_Parser_try___lambda__1(obj* 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; -x_5 = lean::cnstr_get(x_4, 0); -lean::inc(x_5); -x_6 = lean::cnstr_get(x_4, 1); -lean::inc(x_6); -x_7 = lean::array_get_size(x_5); -lean::dec(x_5); -x_8 = lean::apply_3(x_1, x_2, x_3, x_4); -x_9 = lean::cnstr_get(x_8, 3); -lean::inc(x_9); -if (lean::obj_tag(x_9) == 0) -{ -lean::dec(x_7); -lean::dec(x_6); -return x_8; -} -else -{ -uint8 x_10; -x_10 = !lean::is_exclusive(x_8); -if (x_10 == 0) -{ -obj* x_11; obj* x_12; obj* x_13; obj* x_14; -x_11 = lean::cnstr_get(x_8, 0); -x_12 = lean::cnstr_get(x_8, 3); -lean::dec(x_12); -x_13 = lean::cnstr_get(x_8, 1); -lean::dec(x_13); -x_14 = l_Array_shrink___main___rarg(x_11, x_7); -lean::dec(x_7); -lean::cnstr_set(x_8, 1, x_6); -lean::cnstr_set(x_8, 0, x_14); -return x_8; -} -else -{ -obj* x_15; obj* x_16; obj* x_17; obj* x_18; -x_15 = lean::cnstr_get(x_8, 0); -x_16 = lean::cnstr_get(x_8, 2); -lean::inc(x_16); -lean::inc(x_15); -lean::dec(x_8); -x_17 = l_Array_shrink___main___rarg(x_15, x_7); -lean::dec(x_7); -x_18 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_18, 0, x_17); -lean::cnstr_set(x_18, 1, x_6); -lean::cnstr_set(x_18, 2, x_16); -lean::cnstr_set(x_18, 3, x_9); -return x_18; -} -} -} -} obj* l_Lean_Parser_try(uint8 x_1, obj* x_2) { _start: { @@ -2964,7 +2820,7 @@ if (x_3 == 0) { obj* x_4; obj* x_5; x_4 = lean::cnstr_get(x_2, 1); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_try___lambda__1), 4, 1); +x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_tryFn___rarg), 4, 1); lean::closure_set(x_5, 0, x_4); lean::cnstr_set(x_2, 1, x_5); return x_2; @@ -2977,7 +2833,7 @@ x_7 = lean::cnstr_get(x_2, 1); lean::inc(x_7); lean::inc(x_6); lean::dec(x_2); -x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_try___lambda__1), 4, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_tryFn___rarg), 4, 1); lean::closure_set(x_8, 0, x_7); x_9 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_9, 0, x_6); @@ -3062,70 +2918,22 @@ x_3 = l_Lean_Parser_optionalFn(x_2); return x_3; } } -obj* l_Lean_Parser_optional___lambda__1(obj* 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; -x_5 = lean::cnstr_get(x_1, 1); -lean::inc(x_5); -lean::dec(x_1); -x_6 = lean::cnstr_get(x_4, 0); -lean::inc(x_6); -x_7 = lean::array_get_size(x_6); -lean::dec(x_6); -x_8 = lean::cnstr_get(x_4, 1); -lean::inc(x_8); -x_9 = lean::apply_3(x_5, x_2, x_3, x_4); -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; -lean::dec(x_8); -x_11 = l_Lean_nullKind; -x_12 = l_Lean_Parser_ParserState_mkNode(x_9, x_11, x_7); -return x_12; -} -else -{ -obj* x_13; uint8 x_14; -lean::dec(x_10); -x_13 = lean::cnstr_get(x_9, 1); -lean::inc(x_13); -x_14 = lean::nat_dec_eq(x_13, x_8); -lean::dec(x_13); -if (x_14 == 0) -{ -obj* x_15; obj* x_16; -lean::dec(x_8); -x_15 = l_Lean_nullKind; -x_16 = l_Lean_Parser_ParserState_mkNode(x_9, x_15, x_7); -return x_16; -} -else -{ -obj* x_17; obj* x_18; obj* x_19; -x_17 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8); -x_18 = l_Lean_nullKind; -x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_7); -return x_19; -} -} -} -} obj* l_Lean_Parser_optional(uint8 x_1, obj* x_2) { _start: { -obj* x_3; obj* x_4; obj* x_5; obj* x_6; +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 = l_Lean_Parser_noFirstTokenInfo(x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_optional___lambda__1), 4, 1); -lean::closure_set(x_5, 0, x_2); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_4); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_5 = lean::cnstr_get(x_2, 1); +lean::inc(x_5); +lean::dec(x_2); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_optionalFn___rarg), 4, 1); +lean::closure_set(x_6, 0, x_5); +x_7 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_6); +return x_7; } } obj* l_Lean_Parser_optional___boxed(obj* x_1, obj* x_2) { @@ -3252,48 +3060,24 @@ x_7 = l_Lean_Parser_manyFn(x_6, x_2, x_3, x_4, x_5); return x_7; } } -obj* l_Lean_Parser_many___lambda__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_10; obj* x_11; -x_6 = lean::cnstr_get(x_1, 1); -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 = l_Lean_Parser_manyAux___main(x_2, x_6, x_3, x_4, x_5); -x_10 = l_Lean_nullKind; -x_11 = l_Lean_Parser_ParserState_mkNode(x_9, x_10, x_8); -return x_11; -} -} obj* l_Lean_Parser_many(uint8 x_1, obj* x_2) { _start: { -obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; +obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; x_3 = lean::cnstr_get(x_2, 0); lean::inc(x_3); x_4 = l_Lean_Parser_noFirstTokenInfo(x_3); -x_5 = lean::box(x_1); -x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_many___lambda__1___boxed), 5, 2); -lean::closure_set(x_6, 0, x_2); -lean::closure_set(x_6, 1, x_5); -x_7 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_7, 0, x_4); -lean::cnstr_set(x_7, 1, x_6); -return x_7; -} -} -obj* l_Lean_Parser_many___lambda__1___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_2); +x_5 = lean::cnstr_get(x_2, 1); +lean::inc(x_5); lean::dec(x_2); -x_7 = l_Lean_Parser_many___lambda__1(x_1, x_6, x_3, x_4, x_5); -return x_7; +x_6 = lean::box(x_1); +x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_manyFn___boxed), 5, 2); +lean::closure_set(x_7, 0, x_6); +lean::closure_set(x_7, 1, x_5); +x_8 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_8, 0, x_4); +lean::cnstr_set(x_8, 1, x_7); +return x_8; } } obj* l_Lean_Parser_many___boxed(obj* x_1, obj* x_2) { @@ -3351,41 +3135,6 @@ x_7 = l_Lean_Parser_many1Fn(x_6, x_2, x_3, x_4, x_5); return x_7; } } -obj* l_Lean_Parser_many1___lambda__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; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -x_7 = lean::array_get_size(x_6); -lean::dec(x_6); -lean::inc(x_1); -lean::inc(x_4); -lean::inc(x_3); -x_8 = lean::apply_3(x_1, x_3, x_4, x_5); -x_9 = lean::cnstr_get(x_8, 3); -lean::inc(x_9); -if (lean::obj_tag(x_9) == 0) -{ -obj* x_10; obj* x_11; obj* x_12; -x_10 = l_Lean_Parser_manyAux___main(x_2, x_1, x_3, x_4, x_8); -x_11 = l_Lean_nullKind; -x_12 = l_Lean_Parser_ParserState_mkNode(x_10, x_11, x_7); -return x_12; -} -else -{ -obj* x_13; obj* x_14; -lean::dec(x_9); -lean::dec(x_4); -lean::dec(x_3); -lean::dec(x_1); -x_13 = l_Lean_nullKind; -x_14 = l_Lean_Parser_ParserState_mkNode(x_8, x_13, x_7); -return x_14; -} -} -} obj* l_Lean_Parser_many1(uint8 x_1, obj* x_2) { _start: { @@ -3396,9 +3145,9 @@ if (x_3 == 0) obj* x_4; obj* x_5; obj* x_6; x_4 = lean::cnstr_get(x_2, 1); x_5 = lean::box(x_1); -x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_many1___lambda__1___boxed), 5, 2); -lean::closure_set(x_6, 0, x_4); -lean::closure_set(x_6, 1, x_5); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_many1Fn___boxed), 5, 2); +lean::closure_set(x_6, 0, x_5); +lean::closure_set(x_6, 1, x_4); lean::cnstr_set(x_2, 1, x_6); return x_2; } @@ -3411,9 +3160,9 @@ lean::inc(x_8); lean::inc(x_7); lean::dec(x_2); x_9 = lean::box(x_1); -x_10 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_many1___lambda__1___boxed), 5, 2); -lean::closure_set(x_10, 0, x_8); -lean::closure_set(x_10, 1, x_9); +x_10 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_many1Fn___boxed), 5, 2); +lean::closure_set(x_10, 0, x_9); +lean::closure_set(x_10, 1, x_8); x_11 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_11, 0, x_7); lean::cnstr_set(x_11, 1, x_10); @@ -3421,16 +3170,6 @@ return x_11; } } } -obj* l_Lean_Parser_many1___lambda__1___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_2); -lean::dec(x_2); -x_7 = l_Lean_Parser_many1___lambda__1(x_1, x_6, x_3, x_4, x_5); -return x_7; -} -} obj* l_Lean_Parser_many1___boxed(obj* x_1, obj* x_2) { _start: { @@ -3785,52 +3524,32 @@ return x_7; } } } -obj* l_Lean_Parser_sepBy___lambda__1(obj* x_1, obj* x_2, uint8 x_3, uint8 x_4, obj* x_5, obj* x_6, obj* x_7) { -_start: -{ -obj* x_8; obj* x_9; obj* x_10; -x_8 = lean::cnstr_get(x_1, 1); -lean::inc(x_8); -lean::dec(x_1); -x_9 = lean::cnstr_get(x_2, 1); -lean::inc(x_9); -lean::dec(x_2); -x_10 = l_Lean_Parser_sepByFn___main(x_3, x_4, x_8, x_9, x_5, x_6, x_7); -return x_10; -} -} obj* l_Lean_Parser_sepBy(uint8 x_1, obj* x_2, obj* x_3, uint8 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_11; obj* x_12; obj* x_13; x_5 = lean::cnstr_get(x_2, 0); lean::inc(x_5); x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); x_7 = l_Lean_Parser_sepByInfo(x_5, x_6); -x_8 = lean::box(x_1); -x_9 = lean::box(x_4); -x_10 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_sepBy___lambda__1___boxed), 7, 4); -lean::closure_set(x_10, 0, x_2); -lean::closure_set(x_10, 1, x_3); -lean::closure_set(x_10, 2, x_8); -lean::closure_set(x_10, 3, x_9); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_7); -lean::cnstr_set(x_11, 1, x_10); -return x_11; -} -} -obj* l_Lean_Parser_sepBy___lambda__1___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; obj* x_10; -x_8 = lean::unbox(x_3); +x_8 = lean::cnstr_get(x_2, 1); +lean::inc(x_8); +lean::dec(x_2); +x_9 = lean::cnstr_get(x_3, 1); +lean::inc(x_9); lean::dec(x_3); -x_9 = lean::unbox(x_4); -lean::dec(x_4); -x_10 = l_Lean_Parser_sepBy___lambda__1(x_1, x_2, x_8, x_9, x_5, x_6, x_7); -return x_10; +x_10 = lean::box(x_1); +x_11 = lean::box(x_4); +x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_sepByFn___boxed), 7, 4); +lean::closure_set(x_12, 0, x_10); +lean::closure_set(x_12, 1, x_11); +lean::closure_set(x_12, 2, x_8); +lean::closure_set(x_12, 3, x_9); +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_7); +lean::cnstr_set(x_13, 1, x_12); +return x_13; } } obj* l_Lean_Parser_sepBy___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { @@ -3845,52 +3564,32 @@ x_7 = l_Lean_Parser_sepBy(x_5, x_2, x_3, x_6); return x_7; } } -obj* l_Lean_Parser_sepBy1___lambda__1(obj* x_1, obj* x_2, uint8 x_3, uint8 x_4, obj* x_5, obj* x_6, obj* x_7) { -_start: -{ -obj* x_8; obj* x_9; obj* x_10; -x_8 = lean::cnstr_get(x_1, 1); -lean::inc(x_8); -lean::dec(x_1); -x_9 = lean::cnstr_get(x_2, 1); -lean::inc(x_9); -lean::dec(x_2); -x_10 = l_Lean_Parser_sepBy1Fn___main(x_3, x_4, x_8, x_9, x_5, x_6, x_7); -return x_10; -} -} obj* l_Lean_Parser_sepBy1(uint8 x_1, obj* x_2, obj* x_3, uint8 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_11; obj* x_12; obj* x_13; x_5 = lean::cnstr_get(x_2, 0); lean::inc(x_5); x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); x_7 = l_Lean_Parser_sepBy1Info(x_5, x_6); -x_8 = lean::box(x_1); -x_9 = lean::box(x_4); -x_10 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_sepBy1___lambda__1___boxed), 7, 4); -lean::closure_set(x_10, 0, x_2); -lean::closure_set(x_10, 1, x_3); -lean::closure_set(x_10, 2, x_8); -lean::closure_set(x_10, 3, x_9); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_7); -lean::cnstr_set(x_11, 1, x_10); -return x_11; -} -} -obj* l_Lean_Parser_sepBy1___lambda__1___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; obj* x_10; -x_8 = lean::unbox(x_3); +x_8 = lean::cnstr_get(x_2, 1); +lean::inc(x_8); +lean::dec(x_2); +x_9 = lean::cnstr_get(x_3, 1); +lean::inc(x_9); lean::dec(x_3); -x_9 = lean::unbox(x_4); -lean::dec(x_4); -x_10 = l_Lean_Parser_sepBy1___lambda__1(x_1, x_2, x_8, x_9, x_5, x_6, x_7); -return x_10; +x_10 = lean::box(x_1); +x_11 = lean::box(x_4); +x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_sepBy1Fn___boxed), 7, 4); +lean::closure_set(x_12, 0, x_10); +lean::closure_set(x_12, 1, x_11); +lean::closure_set(x_12, 2, x_8); +lean::closure_set(x_12, 3, x_9); +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_7); +lean::cnstr_set(x_13, 1, x_12); +return x_13; } } obj* l_Lean_Parser_sepBy1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { @@ -7493,13 +7192,21 @@ return x_39; } } } +obj* l_Lean_Parser_symbolInfo___elambda__1(obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_Lean_Parser_insertToken(x_1, x_2, x_3); +return x_4; +} +} obj* l_Lean_Parser_symbolInfo(obj* x_1, obj* x_2) { _start: { obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; lean::inc(x_2); lean::inc(x_1); -x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_insertToken), 3, 2); +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolInfo___elambda__1), 3, 2); lean::closure_set(x_3, 0, x_1); lean::closure_set(x_3, 1, x_2); x_4 = lean::box(0); @@ -7567,18 +7274,6 @@ x_3 = l_Lean_Parser_symbolFn(x_2); return x_3; } } -obj* l_Lean_Parser_symbolAux___lambda__1(obj* 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; -x_5 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_6 = lean::string_append(x_5, x_1); -x_7 = l_Char_HasRepr___closed__1; -x_8 = lean::string_append(x_6, x_7); -x_9 = l_Lean_Parser_symbolFnAux(x_1, x_8, x_3, x_4); -return x_9; -} -} obj* l_Lean_Parser_symbolAux(uint8 x_1, obj* x_2, obj* x_3) { _start: { @@ -7586,7 +7281,7 @@ obj* x_4; obj* x_5; obj* x_6; obj* x_7; x_4 = l_String_trim(x_2); lean::inc(x_4); x_5 = l_Lean_Parser_symbolInfo(x_4, x_3); -x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolAux___lambda__1___boxed), 4, 1); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); lean::closure_set(x_6, 0, x_4); x_7 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_7, 0, x_5); @@ -7594,16 +7289,6 @@ lean::cnstr_set(x_7, 1, x_6); return x_7; } } -obj* l_Lean_Parser_symbolAux___lambda__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; -x_5 = l_Lean_Parser_symbolAux___lambda__1(x_1, x_2, x_3, x_4); -lean::dec(x_2); -lean::dec(x_1); -return x_5; -} -} obj* l_Lean_Parser_symbolAux___boxed(obj* x_1, obj* x_2, obj* x_3) { _start: { @@ -7624,7 +7309,7 @@ lean::cnstr_set(x_4, 0, x_3); x_5 = l_String_trim(x_2); lean::inc(x_5); x_6 = l_Lean_Parser_symbolInfo(x_5, x_4); -x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolAux___lambda__1___boxed), 4, 1); +x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); lean::closure_set(x_7, 0, x_5); x_8 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_8, 0, x_6); @@ -7872,13 +7557,21 @@ return x_39; } } } +obj* l_Lean_Parser_symbolNoWsInfo___elambda__1(obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_Lean_Parser_insertNoWsToken(x_1, x_2, x_3); +return x_4; +} +} obj* l_Lean_Parser_symbolNoWsInfo(obj* x_1, obj* x_2) { _start: { obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; lean::inc(x_2); lean::inc(x_1); -x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_insertNoWsToken), 3, 2); +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolNoWsInfo___elambda__1), 3, 2); lean::closure_set(x_3, 0, x_1); lean::closure_set(x_3, 1, x_2); x_4 = lean::box(0); @@ -8014,30 +7707,6 @@ lean::dec(x_1); return x_5; } } -obj* l_Lean_Parser_symbolNoWsAux___lambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_6; obj* x_7; obj* x_8; uint8 x_9; -x_5 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_6 = lean::string_append(x_5, x_1); -x_7 = l_Lean_Parser_symbolNoWsFn___closed__1; -x_8 = lean::string_append(x_6, x_7); -x_9 = l_Lean_Parser_checkTailNoWs(x_2); -if (x_9 == 0) -{ -obj* x_10; -x_10 = l_Lean_Parser_ParserState_mkError(x_4, x_8); -return x_10; -} -else -{ -obj* x_11; obj* x_12; -x_11 = lean::mk_nat_obj(0u); -x_12 = l_Lean_Parser_strAux___main(x_1, x_8, x_11, x_3, x_4); -return x_12; -} -} -} obj* l_Lean_Parser_symbolNoWsAux(obj* x_1, obj* x_2) { _start: { @@ -8045,7 +7714,7 @@ obj* x_3; obj* x_4; obj* x_5; obj* x_6; x_3 = l_String_trim(x_1); lean::inc(x_3); x_4 = l_Lean_Parser_symbolNoWsInfo(x_3, x_2); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolNoWsAux___lambda__1___boxed), 4, 1); +x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolNoWsFn___boxed), 4, 1); lean::closure_set(x_5, 0, x_3); x_6 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_6, 0, x_4); @@ -8053,17 +7722,6 @@ lean::cnstr_set(x_6, 1, x_5); return x_6; } } -obj* l_Lean_Parser_symbolNoWsAux___lambda__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; -x_5 = l_Lean_Parser_symbolNoWsAux___lambda__1(x_1, x_2, x_3, x_4); -lean::dec(x_3); -lean::dec(x_2); -lean::dec(x_1); -return x_5; -} -} obj* l_Lean_Parser_symbolNoWsAux___boxed(obj* x_1, obj* x_2) { _start: { @@ -8082,7 +7740,7 @@ lean::cnstr_set(x_3, 0, x_2); x_4 = l_String_trim(x_1); lean::inc(x_4); x_5 = l_Lean_Parser_symbolNoWsInfo(x_4, x_3); -x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolNoWsAux___lambda__1___boxed), 4, 1); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolNoWsFn___boxed), 4, 1); lean::closure_set(x_6, 0, x_4); x_7 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_7, 0, x_5); @@ -8301,21 +7959,6 @@ x_3 = l_Lean_Parser_unicodeSymbolFn(x_2); return x_3; } } -obj* l_Lean_Parser_unicodeSymbol___lambda__1(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; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_6 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_7 = lean::string_append(x_6, x_1); -x_8 = l_Lean_Parser_unicodeSymbolFn___rarg___closed__1; -x_9 = lean::string_append(x_7, x_8); -x_10 = lean::string_append(x_9, x_2); -x_11 = l_Char_HasRepr___closed__1; -x_12 = lean::string_append(x_10, x_11); -x_13 = l_Lean_Parser_unicodeSymbolFnAux(x_1, x_2, x_12, x_4, x_5); -return x_13; -} -} obj* l_Lean_Parser_unicodeSymbol(uint8 x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { @@ -8325,7 +7968,7 @@ x_6 = l_String_trim(x_3); lean::inc(x_6); lean::inc(x_5); x_7 = l_Lean_Parser_unicodeSymbolInfo(x_5, x_6, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_unicodeSymbol___lambda__1___boxed), 5, 2); +x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_unicodeSymbolFn___rarg___boxed), 5, 2); lean::closure_set(x_8, 0, x_5); lean::closure_set(x_8, 1, x_6); x_9 = lean::alloc_cnstr(0, 2, 0); @@ -8334,17 +7977,6 @@ lean::cnstr_set(x_9, 1, x_8); return x_9; } } -obj* l_Lean_Parser_unicodeSymbol___lambda__1___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_unicodeSymbol___lambda__1(x_1, x_2, x_3, x_4, x_5); -lean::dec(x_3); -lean::dec(x_2); -lean::dec(x_1); -return x_6; -} -} obj* l_Lean_Parser_unicodeSymbol___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { @@ -8985,7 +8617,7 @@ x_3 = lean::box(0); x_4 = l_String_trim(x_2); lean::inc(x_4); x_5 = l_Lean_Parser_symbolInfo(x_4, x_3); -x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolAux___lambda__1___boxed), 4, 1); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); lean::closure_set(x_6, 0, x_4); x_7 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_7, 0, x_5); diff --git a/src/stage0/init/lean/parser/term.cpp b/src/stage0/init/lean/parser/term.cpp index 073afbf07d..68b371fc4d 100644 --- a/src/stage0/init/lean/parser/term.cpp +++ b/src/stage0/init/lean/parser/term.cpp @@ -16,6 +16,7 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #endif obj* l_Lean_Parser_Term_sorry___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__2; +obj* l_Lean_Parser_Term_num___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Term_simpleBinder___elambda__1___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_Term_arrow___elambda__1___closed__1; obj* l_Lean_Parser_Term_sort___elambda__1___rarg___closed__3; @@ -31,15 +32,14 @@ obj* l_Lean_Parser_termParser(uint8, obj*); obj* l_Lean_Parser_Term_tupleTail___elambda__1___closed__1; obj* l_Lean_Parser_Term_structInstSource___elambda__1___rarg___closed__2; obj* l_Lean_Parser_Term_hole___elambda__1___boxed(obj*); -obj* l_Lean_Parser_strLitFn___boxed(obj*, obj*); +obj* l_Lean_Parser_orelseFn___rarg(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_num; obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1(uint8, obj*, obj*, obj*); -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(obj*, uint8, uint8, obj*, uint8, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_addBuiltinLeadingParser(obj*, obj*, obj*, obj*); 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_namedArgument; obj* l_Lean_Parser_Term_array; @@ -57,15 +57,16 @@ obj* l_Lean_Parser_Term_optIdent___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Term_structInst___elambda__1___closed__2; obj* l_Lean_Parser_Term_suffices___elambda__1___rarg___closed__2; obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__1; -extern obj* l_Lean_Parser_unicodeSymbolFn___rarg___closed__1; obj* l_Lean_Parser_Term_sorry___elambda__1___boxed(obj*); obj* l_Lean_Parser_ParserState_restore(obj*, obj*, obj*); obj* l_Lean_Parser_Term_fromTerm; +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_list___spec__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_binderTactic___elambda__1___boxed(obj*); obj* l___regBuiltinParser_Lean_Parser_Term_add(obj*); obj* l_Lean_Parser_Term_haveAssign___elambda__1(obj*); obj* l_Lean_Parser_Term_id___elambda__1___closed__4; obj* l_Lean_Parser_Term_array___elambda__1___closed__2; +obj* l_Lean_Parser_andthenFn___rarg(obj*, obj*, obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_forall(obj*); obj* l_Lean_Parser_Term_infixR___boxed(obj*, obj*); obj* l_Lean_Parser_Term_le; @@ -76,7 +77,6 @@ obj* l_Lean_Parser_symbolInfo(obj*, obj*); obj* l_Lean_Parser_Term_nomatch___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_binderIdent___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Term_sub___elambda__1___closed__1; -obj* l_Lean_Parser_Term_infixL___elambda__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_list___elambda__1___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_Term_cdot___elambda__1___boxed(obj*); obj* l_Lean_Parser_andthenInfo(obj*, obj*); @@ -97,8 +97,10 @@ obj* l_Lean_Parser_Term_optIdent___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_beq___elambda__1___closed__1; obj* l_Lean_Parser_Term_namedArgument___elambda__1(obj*); obj* l_Lean_Parser_Term_equation___elambda__1___closed__4; +obj* l_Lean_Parser_Term_implicitBinder___closed__3; +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__2; obj* l_Lean_Parser_Term_subtype___elambda__1(obj*); -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2(obj*, uint8, uint8, obj*, uint8, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_binderType___closed__2; obj* l_Lean_Parser_Term_binderIdent___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_forall___elambda__1___closed__3; @@ -109,9 +111,10 @@ obj* l___regBuiltinParser_Lean_Parser_Term_fun(obj*); obj* l___regBuiltinParser_Lean_Parser_Term_fcomp(obj*); obj* l_Lean_Parser_Term_binderType___elambda__2(obj*); obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__2; +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___spec__1(uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_type___elambda__1(obj*); obj* l_Lean_Parser_sepBy1Info(obj*, obj*); -obj* l_Lean_Parser_Term_infixR___elambda__1(obj*, obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_Term_infixR___elambda__1(obj*, obj*, obj*, obj*); extern obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__1; extern obj* l_Lean_Parser_builtinLevelParsingTable; obj* l_Lean_Parser_builtinTermParsingTable; @@ -120,16 +123,15 @@ 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*); obj* l_Lean_Parser_Term_binderType___closed__1; -obj* l_Lean_Parser_Term_unicodeInfixR___elambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__1; obj* l_Lean_Parser_Term_tupleTail; obj* l_Lean_Parser_Term_paren___elambda__1___closed__1; -obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(obj*, uint8, uint8, obj*, obj*, obj*); +obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_structInst___elambda__1___closed__3; obj* l_Lean_Parser_Term_parenSpecial___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_type___elambda__1___rarg___closed__3; obj* l_Lean_Parser_Term_typeAscription___elambda__1___rarg(obj*, obj*); -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_app___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_tupleTail___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_namedArgument___elambda__1___boxed(obj*); @@ -141,7 +143,7 @@ obj* l_Lean_Parser_Term_fcomp___elambda__1___closed__1; extern obj* l_Lean_Parser_appPrec; obj* l_Lean_Parser_Term_binderTactic; extern obj* l_Lean_Parser_Level_hole___elambda__1___rarg___closed__2; -obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(obj*, uint8, uint8, obj*, obj*, obj*); +obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_symbolFnAux(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_typeAscription___elambda__1___rarg___closed__2; obj* l_Lean_Parser_Term_sub___elambda__1(obj*, obj*, obj*); @@ -152,7 +154,6 @@ obj* l_Lean_Parser_registerBuiltinParserAttribute(obj*, obj*, obj*); obj* l_Lean_Parser_Term_structInst___elambda__1___closed__5; obj* l_Lean_Parser_Term_beq; obj* l_Lean_Parser_Term_suffices; -extern obj* l_Lean_Parser_symbolFn___rarg___closed__1; obj* l_Lean_Parser_Term_sorry___elambda__1___rarg___closed__2; obj* l_Lean_Parser_Term_mul___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__3; @@ -168,7 +169,6 @@ obj* l_Lean_Parser_Term_list___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_depArrow___elambda__1___closed__4; obj* l_ExceptT_lift___rarg___lambda__1(obj*); obj* l_Lean_Parser_termParserFn___rarg___closed__1; -obj* l_Lean_Parser_Term_unicodeInfixL___elambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_mkAtomicInfo(obj*); obj* l_Lean_Parser_Term_id___elambda__1___closed__5; obj* l_Lean_Parser_Term_arrow___elambda__1(obj*, obj*, obj*); @@ -182,9 +182,11 @@ obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__6; obj* l_Lean_Parser_Term_structInst; obj* l_Lean_Parser_Term_le___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_type___elambda__1___rarg___closed__1; -obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___spec__1___boxed(obj*, obj*, obj*, obj*, obj*); +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_id___elambda__1___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_Term_infixL(obj*, obj*); +obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_str; obj* l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__3; obj* l_Lean_Parser_Term_modN___elambda__1(obj*, obj*, obj*); @@ -197,18 +199,19 @@ obj* l_Lean_Parser_Term_proj___elambda__1___closed__1; obj* l_Lean_Parser_Term_namedArgument___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Term_id; obj* l_Lean_Parser_Term_equation___elambda__1___closed__2; -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(obj*, uint8, uint8, obj*, uint8, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_nomatch___elambda__1___rarg___closed__2; obj* l_Lean_Parser_Term_structInst___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_add; obj* l_Lean_Parser_Term_type___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_haveAssign; obj* l___regBuiltinParser_Lean_Parser_Term_proj(obj*); -obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +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_depArrow; obj* l_Lean_Parser_Term_list___elambda__1___closed__4; obj* l_Lean_Parser_Term_structInstSource___elambda__1___rarg___closed__3; +obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___spec__1(uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_list___elambda__1___closed__1; obj* l___regBuiltinParser_Lean_Parser_Term_le(obj*); obj* l_Lean_Parser_Term_binderDefault___elambda__1___rarg(obj*, obj*); @@ -220,14 +223,15 @@ obj* l___regBuiltinParser_Lean_Parser_Term_suffices(obj*); obj* l_Lean_Parser_regBuiltinTermParserAttr___closed__2; obj* l_Lean_Parser_Term_typeSpec___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_binderIdent; +obj* l_Lean_Parser_Term_str___elambda__1___rarg(obj*, obj*); +obj* l_Lean_Parser_Term_str___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_structInstField___elambda__1(obj*); -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_explicitBinder___elambda__1___spec__1(uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_unicodeInfixR(obj*, obj*, obj*); obj* l_Lean_Parser_Term_binderType(uint8); extern obj* l_Lean_Parser_manyAux___main___closed__1; obj* l_Lean_Parser_runBuiltinParserUnsafe(obj*, obj*, obj*, obj*, obj*); extern obj* l_Lean_Parser_Parser_inhabited___closed__1; -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_eq(obj*); obj* l_Lean_Parser_Term_paren___elambda__1(obj*, obj*, obj*); namespace lean { @@ -235,9 +239,10 @@ obj* string_append(obj*, obj*); } obj* l_Lean_Parser_Term_fun___elambda__1___closed__1; obj* l_Lean_Parser_Term_hole___elambda__1___rarg___closed__1; -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_many1Fn___boxed(obj*, obj*, 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___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_anonymousCtor___elambda__1(obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_array(obj*); obj* l_Lean_Parser_Term_if; @@ -257,22 +262,23 @@ obj* l_Lean_Parser_Term_fun___elambda__1___closed__5; obj* l_Lean_Parser_Term_match___elambda__1___closed__3; obj* l_Lean_Parser_Term_simpleBinder; obj* l_Lean_Parser_Term_binderType___elambda__1___boxed(obj*); -obj* l_Lean_Parser_Term_tupleTail___elambda__1___closed__2; -obj* l_Lean_Parser_Term_infixR___elambda__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_termParser___boxed(obj*, obj*); obj* l_Lean_Parser_Term_suffices___elambda__1(obj*); obj* l_Lean_Parser_Term_mod___elambda__1___closed__1; obj* l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__3; -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(obj*, uint8, obj*, obj*, obj*); +obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(uint8, obj*, obj*, obj*); +obj* l_Lean_Parser_Term_implicitBinder___closed__4; obj* l_Lean_Parser_Term_list___elambda__1___closed__5; -obj* l_Lean_Parser_Term_list___elambda__1___closed__6; +obj* l_Lean_Parser_Term_bracktedBinder___closed__2; +obj* l_Lean_Parser_Term_explicitBinder___closed__6; obj* l_Lean_Parser_Term_structInst___elambda__1___closed__1; obj* l_Lean_Parser_Term_sort___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__3; obj* l_Lean_Parser_Term_match___elambda__1___closed__4; -extern obj* l_Char_HasRepr___closed__1; obj* l_Lean_Parser_Term_cdot; +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1; obj* l_Lean_Parser_Term_gt; +obj* l_Lean_Parser_Term_str___elambda__1(obj*); obj* l_Lean_Parser_Term_structInst___elambda__1___closed__4; obj* l_Lean_Parser_Term_paren; obj* l___regBuiltinParser_Lean_Parser_Term_sorry(obj*); @@ -285,12 +291,14 @@ obj* l_Lean_Parser_Term_if___elambda__1___rarg___closed__5; obj* l_Lean_Parser_Term_infixL___boxed(obj*, obj*); obj* l_Lean_Parser_Term_gt___elambda__1(obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_match(obj*); +obj* l_Lean_Parser_Term_num___elambda__1(obj*); obj* l_Lean_Parser_Term_fun___elambda__1___boxed(obj*, obj*, obj*); namespace lean { obj* nat_add(obj*, obj*); } obj* l_Lean_Parser_Term_fromTerm___elambda__1(obj*); extern obj* l_Lean_nullKind; +obj* l_Lean_Parser_strLitFn___rarg(obj*, obj*); obj* l_Lean_Parser_Term_sorry; obj* l_Lean_Parser_addBuiltinTrailingParser(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_match; @@ -306,7 +314,7 @@ 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*); obj* l_Lean_Parser_Term_structInst___elambda__1___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_Term_fun___elambda__1___closed__4; -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(obj*, uint8, uint8, obj*, obj*, obj*); +obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(uint8, uint8, obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_structInst(obj*); obj* l_Lean_Parser_Term_optIdent___elambda__1(obj*); obj* l_Lean_Parser_Term_show___elambda__1___rarg___closed__3; @@ -317,9 +325,10 @@ obj* l_Lean_Parser_Term_haveAssign___elambda__1___rarg___closed__1; extern obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__3; obj* l_Lean_Parser_Term_unicodeInfixL___boxed(obj*, obj*, obj*); extern obj* l_Lean_Parser_Level_hole___elambda__1___rarg___closed__1; +obj* l_Lean_Parser_symbolFn___rarg___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_parenSpecial___elambda__1___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_Term_paren___elambda__1___boxed(obj*, obj*, obj*); -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_show___elambda__1___rarg(obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_num___closed__1; obj* l_Lean_Parser_Term_have___elambda__1(obj*); @@ -328,17 +337,17 @@ obj* l_Lean_Parser_unicodeSymbolCheckPrecFnAux(obj*, obj*, obj*, obj*, obj*, obj obj* l_Lean_Parser_Term_have___elambda__1___boxed(obj*); obj* l_Lean_Parser_strAux___main(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_equation___elambda__1(obj*, obj*, obj*); -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_subtype; -obj* l_Lean_Parser_Term_infixL___elambda__1(obj*, obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_Term_infixL___elambda__1(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_if___elambda__1(obj*); obj* l_Lean_Parser_Term_namedArgument___elambda__1___rarg___closed__1; obj* l_Lean_Parser_Term_forall; obj* l_Lean_Parser_Term_match___elambda__1___closed__1; obj* l_Lean_Parser_Term_ge___elambda__1___closed__1; +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2; obj* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; obj* l_Lean_Parser_Term_explicitBinder___closed__3; -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_explicitBinder___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_and(obj*); obj* l_Lean_Parser_Term_mod; obj* l_Lean_Parser_Term_proj; @@ -347,6 +356,7 @@ obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__4; extern obj* l_Lean_Parser_Level_paren___elambda__1___rarg___closed__4; obj* l___regBuiltinParser_Lean_Parser_Term_sort(obj*); obj* l_Lean_Parser_Term_equation___elambda__1___boxed(obj*, obj*, obj*); +obj* l_Lean_Parser_numLitFn___rarg(obj*, obj*); obj* l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__1; obj* l___regBuiltinParser_Lean_Parser_Term_sub(obj*); obj* l_Lean_Parser_noFirstTokenInfo(obj*); @@ -354,6 +364,7 @@ obj* l_Lean_Parser_ParserState_pushSyntax(obj*, obj*); 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_sepBy1Fn___at_Lean_Parser_Term_id___spec__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_iff___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_match___elambda__1(obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_id(obj*); @@ -363,9 +374,10 @@ obj* l_Lean_Parser_Term_if___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_Term_instBinder___elambda__1(obj*); obj* l___regBuiltinParser_Lean_Parser_Term_div(obj*); obj* l_Lean_Parser_Term_optType___elambda__1___boxed(obj*); +obj* l_Lean_Parser_Term_num___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_fromTerm___elambda__1___rarg___closed__3; obj* l_Lean_Parser_Term_sorry___elambda__1___rarg___closed__3; -obj* l_Lean_Parser_Term_unicodeInfixL___elambda__1(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_Term_unicodeInfixL___elambda__1(obj*, obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_paren(obj*); obj* l_Lean_Parser_Term_cdot___elambda__1___rarg___closed__2; obj* l_Lean_Parser_Term_match___elambda__1___closed__5; @@ -373,24 +385,29 @@ obj* l_Lean_Parser_identFn___rarg(obj*, obj*); obj* l_Lean_Parser_Term_unicodeInfixR___boxed(obj*, obj*, obj*); obj* l_String_trim(obj*); obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_optionalFn___rarg(obj*, obj*, obj*, obj*); obj* l_Array_shrink___main___rarg(obj*, obj*); obj* l_Lean_Parser_Term_or; obj* l_Lean_Parser_Term_id___elambda__1___closed__2; obj* l_Lean_Parser_Term_simpleBinder___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_binderDefault; +obj* l_Lean_Parser_Term_explicitBinder___closed__4; obj* l_Lean_Parser_regBuiltinTermParserAttr___closed__1; +obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1(uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_nomatch___elambda__1___rarg___closed__3; -obj* l_Lean_Parser_numLitFn___boxed(obj*, obj*); obj* l_Lean_Parser_Term_show; obj* l_Lean_Parser_Term_explicitBinder(uint8); obj* l_Lean_Parser_Term_instBinder___elambda__1___boxed(obj*); +obj* l_Lean_Parser_Term_explicitBinder___closed__5; obj* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__1; obj* l_Lean_Parser_symbolNoWsInfo(obj*, obj*); +obj* l_Lean_Parser_unicodeSymbolFn___rarg___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_id___elambda__1(obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_or(obj*); obj* l_Lean_Parser_Term_fun___elambda__1___closed__7; obj* l_Lean_Parser_Term_instBinder; obj* l___regBuiltinParser_Lean_Parser_Term_arrow(obj*); +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___spec__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_div___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_Term_lt___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_ParserState_mkError(obj*, obj*); @@ -408,10 +425,10 @@ obj* l_Lean_Parser_Term_binderType___elambda__2___boxed(obj*); obj* l_Lean_Parser_Term_typeAscription; obj* l_Lean_Parser_Term_binderTactic___elambda__1___rarg(obj*, obj*); obj* l_Lean_Parser_termParserFn(uint8); -obj* l_Lean_Parser_Term_unicodeInfixR___elambda__1(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_Lean_Parser_Term_unicodeInfixR___elambda__1(obj*, obj*, obj*, obj*); obj* l_Lean_Parser_Term_structInstSource___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_show___elambda__1___rarg___closed__1; -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +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_if___elambda__1___rarg___closed__7; obj* l_Lean_Parser_Term_binderTactic___elambda__1___rarg___closed__1; obj* l_Lean_Parser_Term_cdot___elambda__1___rarg(obj*, obj*); @@ -423,7 +440,6 @@ obj* l_Lean_Parser_Term_structInstSource___elambda__1___rarg___closed__1; obj* l_Lean_Parser_Term_implicitBinder___boxed(obj*); obj* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2; obj* l_Lean_Parser_Term_have___elambda__1___rarg(obj*, obj*); -obj* l_Lean_Parser_Term_forall___elambda__1___closed__5; obj* l_Lean_Parser_Term_bracktedBinder(uint8); obj* l_Lean_Parser_Term_suffices___elambda__1___rarg___closed__3; obj* l_Lean_Parser_Term_structInstField___elambda__1___rarg___closed__1; @@ -433,6 +449,7 @@ obj* l_Lean_Parser_Term_forall___elambda__1___closed__2; obj* l_Lean_Parser_Term_optIdent; obj* l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__1; obj* l___regBuiltinParser_Lean_Parser_Term_show(obj*); +obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_id___spec__1(uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_array___elambda__1(obj*, obj*, obj*); obj* l_Lean_Parser_termParserFn___boxed(obj*); obj* l___regBuiltinParser_Lean_Parser_Term_beq(obj*); @@ -445,7 +462,7 @@ obj* l_Lean_Parser_Term_explicitBinder___boxed(obj*); obj* l_Lean_Parser_Term_binderType___elambda__1(obj*); obj* l_Lean_Parser_Term_nomatch; obj* l_Lean_Parser_Term_forall___elambda__1___closed__4; -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(obj*, uint8, uint8, obj*, uint8, obj*, obj*, obj*); +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(uint8, uint8, obj*, uint8, obj*, obj*, obj*); obj* l___regBuiltinParser_Lean_Parser_Term_ge(obj*); obj* l___regBuiltinParser_Lean_Parser_Term_num(obj*); obj* l_Lean_Parser_Term_typeAscription___elambda__1___rarg___closed__3; @@ -463,6 +480,7 @@ obj* l_Lean_Parser_Term_anonymousCtor; obj* l_Lean_Parser_Term_implicitBinder___closed__1; obj* l_Lean_Parser_Term_binderDefault___elambda__1(obj*); extern obj* l_Lean_Parser_epsilonInfo; +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__1; obj* l_Lean_Parser_Term_bracktedBinder___closed__1; obj* l_Lean_Parser_Term_eq; obj* l_Lean_Parser_Term_sorry___elambda__1(obj*); @@ -479,7 +497,8 @@ obj* l_Lean_Parser_Term_array___elambda__1___closed__1; obj* l___regBuiltinParser_Lean_Parser_Term_gt(obj*); obj* l_Lean_Parser_Term_div; obj* l_Lean_Parser_Term_sorry___elambda__1___rarg___closed__1; -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(obj*, uint8, uint8, obj*, obj*, obj*); +obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(uint8, uint8, obj*, obj*, obj*); +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_list___spec__1(uint8, uint8, obj*, obj*, obj*); obj* l_Lean_Parser_Term_mul___elambda__1___closed__1; obj* l_Lean_Parser_Term_suffices___elambda__1___boxed(obj*); obj* l_Lean_Parser_Term_if___elambda__1___boxed(obj*); @@ -605,58 +624,36 @@ x_4 = l_Lean_Parser_termParser(x_3, x_2); return x_4; } } -obj* l_Lean_Parser_Term_unicodeInfixR___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_Term_unicodeInfixR___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -obj* x_7; obj* x_8; +obj* x_5; obj* x_6; +lean::inc(x_2); +lean::inc(x_4); +x_5 = l_Lean_Parser_ParserState_pushSyntax(x_4, x_2); +x_6 = lean::cnstr_get(x_4, 3); lean::inc(x_6); -x_7 = l_Lean_Parser_ParserState_pushSyntax(x_6, x_4); -x_8 = lean::cnstr_get(x_6, 3); -lean::inc(x_8); -lean::dec(x_6); -if (lean::obj_tag(x_8) == 0) +lean::dec(x_4); +if (lean::obj_tag(x_6) == 0) { -obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; -x_9 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_10 = lean::string_append(x_9, x_1); -x_11 = l_Lean_Parser_unicodeSymbolFn___rarg___closed__1; -x_12 = lean::string_append(x_10, x_11); -x_13 = lean::string_append(x_12, x_2); -x_14 = l_Char_HasRepr___closed__1; -x_15 = lean::string_append(x_13, x_14); -lean::inc(x_5); -x_16 = l_Lean_Parser_unicodeSymbolFnAux(x_1, x_2, x_15, x_5, x_7); -x_17 = lean::cnstr_get(x_16, 3); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_18; obj* x_19; obj* x_20; -x_18 = l_Lean_Parser_termParserFn___rarg___closed__1; -x_19 = l_Lean_Parser_builtinTermParsingTable; -x_20 = l_Lean_Parser_runBuiltinParserUnsafe(x_18, x_19, x_3, x_5, x_16); -return x_20; -} -else -{ -lean::dec(x_17); -lean::dec(x_5); -lean::dec(x_3); -return x_16; -} -} -else -{ -lean::dec(x_8); -lean::dec(x_5); -lean::dec(x_3); +obj* x_7; +x_7 = lean::apply_3(x_1, x_2, x_3, x_5); return x_7; } +else +{ +lean::dec(x_6); +lean::dec(x_3); +lean::dec(x_2); +lean::dec(x_1); +return x_5; +} } } obj* l_Lean_Parser_Term_unicodeInfixR(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; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; +obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; lean::inc(x_3); x_4 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_4, 0, x_3); @@ -665,31 +662,27 @@ x_6 = l_String_trim(x_2); lean::inc(x_6); lean::inc(x_5); x_7 = l_Lean_Parser_unicodeSymbolInfo(x_5, x_6, x_4); -x_8 = lean::mk_nat_obj(1u); -x_9 = lean::nat_sub(x_3, x_8); +x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_unicodeSymbolFn___rarg___boxed), 5, 2); +lean::closure_set(x_8, 0, x_5); +lean::closure_set(x_8, 1, x_6); +x_9 = lean::mk_nat_obj(1u); +x_10 = lean::nat_sub(x_3, x_9); lean::dec(x_3); -x_10 = l_Lean_Parser_Parser_inhabited___closed__1; -x_11 = l_Lean_Parser_andthenInfo(x_7, x_10); -x_12 = l_Lean_Parser_epsilonInfo; -x_13 = l_Lean_Parser_andthenInfo(x_12, x_11); -x_14 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_unicodeInfixR___elambda__1___boxed), 6, 3); -lean::closure_set(x_14, 0, x_5); -lean::closure_set(x_14, 1, x_6); -lean::closure_set(x_14, 2, x_9); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_13); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} -} -obj* l_Lean_Parser_Term_unicodeInfixR___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -obj* x_7; -x_7 = l_Lean_Parser_Term_unicodeInfixR___elambda__1(x_1, x_2, x_3, x_4, x_5, x_6); -lean::dec(x_2); -lean::dec(x_1); -return x_7; +x_11 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_termParserFn___rarg___boxed), 4, 1); +lean::closure_set(x_11, 0, x_10); +x_12 = l_Lean_Parser_Parser_inhabited___closed__1; +x_13 = l_Lean_Parser_andthenInfo(x_7, x_12); +x_14 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_14, 0, x_8); +lean::closure_set(x_14, 1, x_11); +x_15 = l_Lean_Parser_epsilonInfo; +x_16 = l_Lean_Parser_andthenInfo(x_15, x_13); +x_17 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_unicodeInfixR___elambda__1), 4, 1); +lean::closure_set(x_17, 0, x_14); +x_18 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_18, 0, x_16); +lean::cnstr_set(x_18, 1, x_17); +return x_18; } } obj* l_Lean_Parser_Term_unicodeInfixR___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -702,84 +695,62 @@ lean::dec(x_1); return x_4; } } -obj* l_Lean_Parser_Term_infixR___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +obj* l_Lean_Parser_Term_infixR___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -obj* x_6; obj* x_7; -lean::inc(x_5); -x_6 = l_Lean_Parser_ParserState_pushSyntax(x_5, x_3); -x_7 = lean::cnstr_get(x_5, 3); -lean::inc(x_7); -lean::dec(x_5); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_8 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_9 = lean::string_append(x_8, x_1); -x_10 = l_Char_HasRepr___closed__1; -x_11 = lean::string_append(x_9, x_10); +obj* x_5; obj* x_6; +lean::inc(x_2); lean::inc(x_4); -x_12 = l_Lean_Parser_symbolFnAux(x_1, x_11, x_4, x_6); -x_13 = lean::cnstr_get(x_12, 3); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) +x_5 = l_Lean_Parser_ParserState_pushSyntax(x_4, x_2); +x_6 = lean::cnstr_get(x_4, 3); +lean::inc(x_6); +lean::dec(x_4); +if (lean::obj_tag(x_6) == 0) { -obj* x_14; obj* x_15; obj* x_16; -x_14 = l_Lean_Parser_termParserFn___rarg___closed__1; -x_15 = l_Lean_Parser_builtinTermParsingTable; -x_16 = l_Lean_Parser_runBuiltinParserUnsafe(x_14, x_15, x_2, x_4, x_12); -return x_16; +obj* x_7; +x_7 = lean::apply_3(x_1, x_2, x_3, x_5); +return x_7; } else { -lean::dec(x_13); -lean::dec(x_4); +lean::dec(x_6); +lean::dec(x_3); lean::dec(x_2); -return x_12; -} -} -else -{ -lean::dec(x_7); -lean::dec(x_4); -lean::dec(x_2); -return x_6; +lean::dec(x_1); +return x_5; } } } obj* l_Lean_Parser_Term_infixR(obj* x_1, obj* x_2) { _start: { -obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; +obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; lean::inc(x_2); x_3 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_3, 0, x_2); x_4 = l_String_trim(x_1); lean::inc(x_4); x_5 = l_Lean_Parser_symbolInfo(x_4, x_3); -x_6 = lean::mk_nat_obj(1u); -x_7 = lean::nat_sub(x_2, x_6); +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); +lean::closure_set(x_6, 0, x_4); +x_7 = lean::mk_nat_obj(1u); +x_8 = lean::nat_sub(x_2, x_7); lean::dec(x_2); -x_8 = l_Lean_Parser_Parser_inhabited___closed__1; -x_9 = l_Lean_Parser_andthenInfo(x_5, x_8); -x_10 = l_Lean_Parser_epsilonInfo; -x_11 = l_Lean_Parser_andthenInfo(x_10, x_9); -x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_infixR___elambda__1___boxed), 5, 2); -lean::closure_set(x_12, 0, x_4); -lean::closure_set(x_12, 1, x_7); -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_11); -lean::cnstr_set(x_13, 1, x_12); -return x_13; -} -} -obj* l_Lean_Parser_Term_infixR___elambda__1___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_Term_infixR___elambda__1(x_1, x_2, x_3, x_4, x_5); -lean::dec(x_1); -return x_6; +x_9 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_termParserFn___rarg___boxed), 4, 1); +lean::closure_set(x_9, 0, x_8); +x_10 = l_Lean_Parser_Parser_inhabited___closed__1; +x_11 = l_Lean_Parser_andthenInfo(x_5, x_10); +x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_12, 0, x_6); +lean::closure_set(x_12, 1, x_9); +x_13 = l_Lean_Parser_epsilonInfo; +x_14 = l_Lean_Parser_andthenInfo(x_13, x_11); +x_15 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_infixR___elambda__1), 4, 1); +lean::closure_set(x_15, 0, x_12); +x_16 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_16, 0, x_14); +lean::cnstr_set(x_16, 1, x_15); +return x_16; } } obj* l_Lean_Parser_Term_infixR___boxed(obj* x_1, obj* x_2) { @@ -791,58 +762,36 @@ lean::dec(x_1); return x_3; } } -obj* l_Lean_Parser_Term_unicodeInfixL___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_Term_unicodeInfixL___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -obj* x_7; obj* x_8; +obj* x_5; obj* x_6; +lean::inc(x_2); +lean::inc(x_4); +x_5 = l_Lean_Parser_ParserState_pushSyntax(x_4, x_2); +x_6 = lean::cnstr_get(x_4, 3); lean::inc(x_6); -x_7 = l_Lean_Parser_ParserState_pushSyntax(x_6, x_4); -x_8 = lean::cnstr_get(x_6, 3); -lean::inc(x_8); -lean::dec(x_6); -if (lean::obj_tag(x_8) == 0) +lean::dec(x_4); +if (lean::obj_tag(x_6) == 0) { -obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; -x_9 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_10 = lean::string_append(x_9, x_2); -x_11 = l_Lean_Parser_unicodeSymbolFn___rarg___closed__1; -x_12 = lean::string_append(x_10, x_11); -x_13 = lean::string_append(x_12, x_3); -x_14 = l_Char_HasRepr___closed__1; -x_15 = lean::string_append(x_13, x_14); -lean::inc(x_5); -x_16 = l_Lean_Parser_unicodeSymbolFnAux(x_2, x_3, x_15, x_5, x_7); -x_17 = lean::cnstr_get(x_16, 3); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_18; obj* x_19; obj* x_20; -x_18 = l_Lean_Parser_termParserFn___rarg___closed__1; -x_19 = l_Lean_Parser_builtinTermParsingTable; -x_20 = l_Lean_Parser_runBuiltinParserUnsafe(x_18, x_19, x_1, x_5, x_16); -return x_20; -} -else -{ -lean::dec(x_17); -lean::dec(x_5); -lean::dec(x_1); -return x_16; -} -} -else -{ -lean::dec(x_8); -lean::dec(x_5); -lean::dec(x_1); +obj* x_7; +x_7 = lean::apply_3(x_1, x_2, x_3, x_5); return x_7; } +else +{ +lean::dec(x_6); +lean::dec(x_3); +lean::dec(x_2); +lean::dec(x_1); +return x_5; +} } } obj* l_Lean_Parser_Term_unicodeInfixL(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; obj* x_11; obj* x_12; obj* x_13; +obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; lean::inc(x_3); x_4 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_4, 0, x_3); @@ -851,28 +800,24 @@ x_6 = l_String_trim(x_2); lean::inc(x_6); lean::inc(x_5); x_7 = l_Lean_Parser_unicodeSymbolInfo(x_5, x_6, x_4); -x_8 = l_Lean_Parser_Parser_inhabited___closed__1; -x_9 = l_Lean_Parser_andthenInfo(x_7, x_8); -x_10 = l_Lean_Parser_epsilonInfo; -x_11 = l_Lean_Parser_andthenInfo(x_10, x_9); -x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_unicodeInfixL___elambda__1___boxed), 6, 3); -lean::closure_set(x_12, 0, x_3); -lean::closure_set(x_12, 1, x_5); -lean::closure_set(x_12, 2, x_6); -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_11); -lean::cnstr_set(x_13, 1, x_12); -return x_13; -} -} -obj* l_Lean_Parser_Term_unicodeInfixL___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -obj* x_7; -x_7 = l_Lean_Parser_Term_unicodeInfixL___elambda__1(x_1, x_2, x_3, x_4, x_5, x_6); -lean::dec(x_3); -lean::dec(x_2); -return x_7; +x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_unicodeSymbolFn___rarg___boxed), 5, 2); +lean::closure_set(x_8, 0, x_5); +lean::closure_set(x_8, 1, x_6); +x_9 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_termParserFn___rarg___boxed), 4, 1); +lean::closure_set(x_9, 0, x_3); +x_10 = l_Lean_Parser_Parser_inhabited___closed__1; +x_11 = l_Lean_Parser_andthenInfo(x_7, x_10); +x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_12, 0, x_8); +lean::closure_set(x_12, 1, x_9); +x_13 = l_Lean_Parser_epsilonInfo; +x_14 = l_Lean_Parser_andthenInfo(x_13, x_11); +x_15 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_unicodeInfixL___elambda__1), 4, 1); +lean::closure_set(x_15, 0, x_12); +x_16 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_16, 0, x_14); +lean::cnstr_set(x_16, 1, x_15); +return x_16; } } obj* l_Lean_Parser_Term_unicodeInfixL___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -885,81 +830,59 @@ lean::dec(x_1); return x_4; } } -obj* l_Lean_Parser_Term_infixL___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +obj* l_Lean_Parser_Term_infixL___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -obj* x_6; obj* x_7; -lean::inc(x_5); -x_6 = l_Lean_Parser_ParserState_pushSyntax(x_5, x_3); -x_7 = lean::cnstr_get(x_5, 3); -lean::inc(x_7); -lean::dec(x_5); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_8 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_9 = lean::string_append(x_8, x_2); -x_10 = l_Char_HasRepr___closed__1; -x_11 = lean::string_append(x_9, x_10); +obj* x_5; obj* x_6; +lean::inc(x_2); lean::inc(x_4); -x_12 = l_Lean_Parser_symbolFnAux(x_2, x_11, x_4, x_6); -x_13 = lean::cnstr_get(x_12, 3); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) +x_5 = l_Lean_Parser_ParserState_pushSyntax(x_4, x_2); +x_6 = lean::cnstr_get(x_4, 3); +lean::inc(x_6); +lean::dec(x_4); +if (lean::obj_tag(x_6) == 0) { -obj* x_14; obj* x_15; obj* x_16; -x_14 = l_Lean_Parser_termParserFn___rarg___closed__1; -x_15 = l_Lean_Parser_builtinTermParsingTable; -x_16 = l_Lean_Parser_runBuiltinParserUnsafe(x_14, x_15, x_1, x_4, x_12); -return x_16; +obj* x_7; +x_7 = lean::apply_3(x_1, x_2, x_3, x_5); +return x_7; } else { -lean::dec(x_13); -lean::dec(x_4); +lean::dec(x_6); +lean::dec(x_3); +lean::dec(x_2); lean::dec(x_1); -return x_12; -} -} -else -{ -lean::dec(x_7); -lean::dec(x_4); -lean::dec(x_1); -return x_6; +return x_5; } } } obj* l_Lean_Parser_Term_infixL(obj* x_1, obj* x_2) { _start: { -obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; +obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; lean::inc(x_2); x_3 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_3, 0, x_2); x_4 = l_String_trim(x_1); lean::inc(x_4); x_5 = l_Lean_Parser_symbolInfo(x_4, x_3); -x_6 = l_Lean_Parser_Parser_inhabited___closed__1; -x_7 = l_Lean_Parser_andthenInfo(x_5, x_6); -x_8 = l_Lean_Parser_epsilonInfo; -x_9 = l_Lean_Parser_andthenInfo(x_8, x_7); -x_10 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_infixL___elambda__1___boxed), 5, 2); -lean::closure_set(x_10, 0, x_2); -lean::closure_set(x_10, 1, x_4); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_9); -lean::cnstr_set(x_11, 1, x_10); -return x_11; -} -} -obj* l_Lean_Parser_Term_infixL___elambda__1___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_Term_infixL___elambda__1(x_1, x_2, x_3, x_4, x_5); -lean::dec(x_2); -return x_6; +x_6 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); +lean::closure_set(x_6, 0, x_4); +x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_termParserFn___rarg___boxed), 4, 1); +lean::closure_set(x_7, 0, x_2); +x_8 = l_Lean_Parser_Parser_inhabited___closed__1; +x_9 = l_Lean_Parser_andthenInfo(x_5, x_8); +x_10 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_10, 0, x_6); +lean::closure_set(x_10, 1, x_7); +x_11 = l_Lean_Parser_epsilonInfo; +x_12 = l_Lean_Parser_andthenInfo(x_11, x_9); +x_13 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_infixL___elambda__1), 4, 1); +lean::closure_set(x_13, 0, x_10); +x_14 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_14, 0, x_12); +lean::cnstr_set(x_14, 1, x_13); +return x_14; } } obj* l_Lean_Parser_Term_infixL___boxed(obj* x_1, obj* x_2) { @@ -971,104 +894,128 @@ lean::dec(x_1); return x_3; } } -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, uint8 x_5, obj* x_6, obj* x_7, obj* x_8) { +obj* _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1() { _start: { -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_8, 0); -lean::inc(x_9); -x_10 = lean::array_get_size(x_9); -lean::dec(x_9); -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); -x_12 = l_Lean_Parser_levelParserFn___rarg___closed__1; -x_13 = l_Lean_Parser_builtinLevelParsingTable; -x_14 = lean::mk_nat_obj(0u); -lean::inc(x_7); -x_15 = l_Lean_Parser_runBuiltinParserUnsafe(x_12, x_13, x_14, x_7, x_8); -x_16 = lean::cnstr_get(x_15, 3); -lean::inc(x_16); -if (lean::obj_tag(x_16) == 0) +obj* x_1; obj* x_2; +x_1 = lean::mk_string(", "); +x_2 = l_String_trim(x_1); +lean::dec(x_1); +return x_2; +} +} +obj* _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2() { +_start: { -obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; -lean::dec(x_11); +obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; +x_1 = lean::mk_string(", "); +x_2 = l_String_trim(x_1); +lean::dec(x_1); +x_3 = lean::mk_string("expected '"); +x_4 = lean::string_append(x_3, x_2); +lean::dec(x_2); +x_5 = lean::mk_string("'"); +x_6 = lean::string_append(x_4, x_5); +lean::dec(x_5); +return x_6; +} +} +obj* l___private_init_lean_parser_parser_1__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) { +_start: +{ +obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; +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 = l_Lean_Parser_levelParserFn___rarg___closed__1; +x_12 = l_Lean_Parser_builtinLevelParsingTable; +x_13 = lean::mk_nat_obj(0u); +lean::inc(x_6); +x_14 = l_Lean_Parser_runBuiltinParserUnsafe(x_11, x_12, x_13, x_6, x_7); +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; obj* x_19; obj* x_20; obj* x_21; obj* x_22; lean::dec(x_10); -x_17 = lean::cnstr_get(x_15, 0); -lean::inc(x_17); -x_18 = lean::array_get_size(x_17); -lean::dec(x_17); -x_19 = lean::cnstr_get(x_15, 1); -lean::inc(x_19); -x_20 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_21 = lean::string_append(x_20, x_1); -x_22 = l_Char_HasRepr___closed__1; -x_23 = lean::string_append(x_21, x_22); -lean::inc(x_7); -x_24 = l_Lean_Parser_symbolFnAux(x_1, x_23, x_7, x_15); -x_25 = lean::cnstr_get(x_24, 3); -lean::inc(x_25); -if (lean::obj_tag(x_25) == 0) +lean::dec(x_9); +x_16 = lean::cnstr_get(x_14, 0); +lean::inc(x_16); +x_17 = lean::array_get_size(x_16); +lean::dec(x_16); +x_18 = lean::cnstr_get(x_14, 1); +lean::inc(x_18); +x_19 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1; +x_20 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2; +lean::inc(x_6); +x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_6, x_14); +x_22 = lean::cnstr_get(x_21, 3); +lean::inc(x_22); +if (lean::obj_tag(x_22) == 0) { -lean::dec(x_19); lean::dec(x_18); +lean::dec(x_17); { -uint8 _tmp_4 = x_3; -obj* _tmp_7 = x_24; -x_5 = _tmp_4; -x_8 = _tmp_7; +uint8 _tmp_3 = x_2; +obj* _tmp_6 = x_21; +x_4 = _tmp_3; +x_7 = _tmp_6; } goto _start; } else { -obj* x_27; obj* x_28; obj* x_29; -lean::dec(x_25); -lean::dec(x_7); -x_27 = l_Lean_Parser_ParserState_restore(x_24, x_18, x_19); -lean::dec(x_18); -x_28 = l_Lean_nullKind; -x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_4); -return x_29; +obj* x_24; obj* x_25; obj* x_26; +lean::dec(x_22); +lean::dec(x_6); +x_24 = l_Lean_Parser_ParserState_restore(x_21, x_17, x_18); +lean::dec(x_17); +x_25 = l_Lean_nullKind; +x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_3); +return x_26; } } else { -lean::dec(x_16); -lean::dec(x_7); -if (x_5 == 0) +lean::dec(x_15); +lean::dec(x_6); +if (x_4 == 0) { -obj* x_30; obj* x_31; obj* x_32; obj* x_33; -lean::dec(x_11); +obj* x_27; obj* x_28; obj* x_29; obj* x_30; lean::dec(x_10); -x_30 = lean::box(0); -x_31 = l_Lean_Parser_ParserState_pushSyntax(x_15, x_30); +lean::dec(x_9); +x_27 = lean::box(0); +x_28 = l_Lean_Parser_ParserState_pushSyntax(x_14, x_27); +x_29 = l_Lean_nullKind; +x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_3); +return x_30; +} +else +{ +obj* x_31; obj* x_32; obj* x_33; +x_31 = l_Lean_Parser_ParserState_restore(x_14, x_9, x_10); +lean::dec(x_9); x_32 = l_Lean_nullKind; -x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_4); +x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_3); return x_33; } -else -{ -obj* x_34; obj* x_35; obj* x_36; -x_34 = l_Lean_Parser_ParserState_restore(x_15, x_10, x_11); -lean::dec(x_10); -x_35 = l_Lean_nullKind; -x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_4); -return x_36; } } } -} -obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, obj* x_5, obj* x_6) { +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) { _start: { -obj* x_7; obj* x_8; uint8 x_9; obj* x_10; -x_7 = lean::cnstr_get(x_6, 0); -lean::inc(x_7); -x_8 = lean::array_get_size(x_7); -lean::dec(x_7); -x_9 = 0; -x_10 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(x_1, x_2, x_3, x_8, x_9, x_4, x_5, x_6); -return x_10; +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_1__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); +return x_9; } } obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__1() { @@ -1101,23 +1048,13 @@ obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__3() { _start: { obj* x_1; obj* x_2; -x_1 = lean::mk_string(", "); -x_2 = l_String_trim(x_1); -lean::dec(x_1); -return x_2; -} -} -obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__4() { -_start: -{ -obj* x_1; obj* x_2; x_1 = lean::mk_string("}"); x_2 = l_String_trim(x_1); lean::dec(x_1); return x_2; } } -obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__5() { +obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__4() { _start: { obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; @@ -1133,7 +1070,7 @@ lean::dec(x_5); return x_6; } } -obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__6() { +obj* _init_l_Lean_Parser_Term_id___elambda__1___closed__5() { _start: { obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; @@ -1178,135 +1115,142 @@ x_14 = lean::cnstr_get(x_13, 3); lean::inc(x_14); if (lean::obj_tag(x_14) == 0) { -obj* x_15; uint8 x_16; uint8 x_17; obj* x_18; obj* x_19; -x_15 = l_Lean_Parser_Term_id___elambda__1___closed__3; +uint8 x_15; uint8 x_16; obj* x_17; obj* x_18; +x_15 = 0; x_16 = 0; -x_17 = 0; lean::inc(x_2); -x_18 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(x_15, x_16, x_17, x_1, x_2, x_13); -x_19 = lean::cnstr_get(x_18, 3); -lean::inc(x_19); -if (lean::obj_tag(x_19) == 0) +x_17 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(x_15, x_16, x_1, x_2, x_13); +x_18 = lean::cnstr_get(x_17, 3); +lean::inc(x_18); +if (lean::obj_tag(x_18) == 0) { -obj* x_20; obj* x_21; obj* x_22; obj* x_23; +obj* x_19; obj* x_20; obj* x_21; obj* x_22; +x_19 = l_Lean_Parser_Term_id___elambda__1___closed__3; x_20 = l_Lean_Parser_Term_id___elambda__1___closed__4; -x_21 = l_Lean_Parser_Term_id___elambda__1___closed__5; -x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_2, x_18); -x_23 = lean::cnstr_get(x_22, 3); -lean::inc(x_23); -if (lean::obj_tag(x_23) == 0) +x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_2, x_17); +x_22 = lean::cnstr_get(x_21, 3); +lean::inc(x_22); +if (lean::obj_tag(x_22) == 0) { -obj* x_24; obj* x_25; obj* x_26; obj* x_27; +obj* x_23; obj* x_24; obj* x_25; obj* x_26; lean::dec(x_10); -x_24 = l_Lean_nullKind; -x_25 = l_Lean_Parser_ParserState_mkNode(x_22, x_24, x_9); -x_26 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5); -return x_27; +x_23 = l_Lean_nullKind; +x_24 = l_Lean_Parser_ParserState_mkNode(x_21, x_23, x_9); +x_25 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_5); +return x_26; } else { -obj* x_28; uint8 x_29; -lean::dec(x_23); -x_28 = lean::cnstr_get(x_22, 1); -lean::inc(x_28); -x_29 = lean::nat_dec_eq(x_28, x_10); -lean::dec(x_28); -if (x_29 == 0) +obj* x_27; uint8 x_28; +lean::dec(x_22); +x_27 = lean::cnstr_get(x_21, 1); +lean::inc(x_27); +x_28 = lean::nat_dec_eq(x_27, x_10); +lean::dec(x_27); +if (x_28 == 0) { -obj* x_30; obj* x_31; obj* x_32; obj* x_33; +obj* x_29; obj* x_30; obj* x_31; obj* x_32; lean::dec(x_10); -x_30 = l_Lean_nullKind; -x_31 = l_Lean_Parser_ParserState_mkNode(x_22, x_30, x_9); -x_32 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_5); -return x_33; +x_29 = l_Lean_nullKind; +x_30 = l_Lean_Parser_ParserState_mkNode(x_21, x_29, x_9); +x_31 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_5); +return x_32; } else { -obj* x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_38; -x_34 = l_Lean_Parser_ParserState_restore(x_22, x_9, x_10); -x_35 = l_Lean_nullKind; -x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_9); -x_37 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_5); -return x_38; +obj* x_33; obj* x_34; obj* x_35; obj* x_36; obj* x_37; +x_33 = l_Lean_Parser_ParserState_restore(x_21, x_9, x_10); +x_34 = l_Lean_nullKind; +x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_9); +x_36 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_5); +return x_37; } } } else { -obj* x_39; uint8 x_40; -lean::dec(x_19); +obj* x_38; uint8 x_39; +lean::dec(x_18); lean::dec(x_2); -x_39 = lean::cnstr_get(x_18, 1); -lean::inc(x_39); -x_40 = lean::nat_dec_eq(x_39, x_10); -lean::dec(x_39); -if (x_40 == 0) +x_38 = lean::cnstr_get(x_17, 1); +lean::inc(x_38); +x_39 = lean::nat_dec_eq(x_38, x_10); +lean::dec(x_38); +if (x_39 == 0) { -obj* x_41; obj* x_42; obj* x_43; obj* x_44; +obj* x_40; obj* x_41; obj* x_42; obj* x_43; lean::dec(x_10); -x_41 = l_Lean_nullKind; -x_42 = l_Lean_Parser_ParserState_mkNode(x_18, x_41, x_9); -x_43 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_5); -return x_44; +x_40 = l_Lean_nullKind; +x_41 = l_Lean_Parser_ParserState_mkNode(x_17, x_40, x_9); +x_42 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_5); +return x_43; } else { -obj* x_45; obj* x_46; obj* x_47; obj* x_48; obj* x_49; -x_45 = l_Lean_Parser_ParserState_restore(x_18, x_9, x_10); -x_46 = l_Lean_nullKind; -x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_9); -x_48 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_5); -return x_49; +obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_48; +x_44 = l_Lean_Parser_ParserState_restore(x_17, x_9, x_10); +x_45 = l_Lean_nullKind; +x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_9); +x_47 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_5); +return x_48; } } } else { -obj* x_50; uint8 x_51; +obj* x_49; uint8 x_50; lean::dec(x_14); lean::dec(x_2); -x_50 = lean::cnstr_get(x_13, 1); -lean::inc(x_50); -x_51 = lean::nat_dec_eq(x_50, x_10); -lean::dec(x_50); -if (x_51 == 0) +x_49 = lean::cnstr_get(x_13, 1); +lean::inc(x_49); +x_50 = lean::nat_dec_eq(x_49, x_10); +lean::dec(x_49); +if (x_50 == 0) { -obj* x_52; obj* x_53; obj* x_54; obj* x_55; +obj* x_51; obj* x_52; obj* x_53; obj* x_54; lean::dec(x_10); -x_52 = l_Lean_nullKind; -x_53 = l_Lean_Parser_ParserState_mkNode(x_13, x_52, x_9); -x_54 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_5); -return x_55; +x_51 = l_Lean_nullKind; +x_52 = l_Lean_Parser_ParserState_mkNode(x_13, x_51, x_9); +x_53 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_54 = l_Lean_Parser_ParserState_mkNode(x_52, x_53, x_5); +return x_54; } else { -obj* x_56; obj* x_57; obj* x_58; obj* x_59; obj* x_60; -x_56 = l_Lean_Parser_ParserState_restore(x_13, x_9, x_10); -x_57 = l_Lean_nullKind; -x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_9); -x_59 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_5); -return x_60; +obj* x_55; obj* x_56; obj* x_57; obj* x_58; obj* x_59; +x_55 = l_Lean_Parser_ParserState_restore(x_13, x_9, x_10); +x_56 = l_Lean_nullKind; +x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_9); +x_58 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_59 = l_Lean_Parser_ParserState_mkNode(x_57, x_58, x_5); +return x_59; } } } else { -obj* x_61; obj* x_62; +obj* x_60; obj* x_61; lean::dec(x_7); lean::dec(x_2); -x_61 = l_Lean_Parser_Term_id___elambda__1___closed__6; -x_62 = l_Lean_Parser_ParserState_mkNode(x_6, x_61, x_5); -return x_62; +x_60 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_61 = l_Lean_Parser_ParserState_mkNode(x_6, x_60, x_5); +return x_61; } } } +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() { _start: { @@ -1344,34 +1288,32 @@ lean::cnstr_set(x_23, 1, x_22); return x_23; } } -obj* l___private_init_lean_parser_parser_1__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, obj* x_8) { +obj* l___private_init_lean_parser_parser_1__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_9; uint8 x_10; uint8 x_11; obj* x_12; +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_3); -lean::dec(x_3); -x_11 = lean::unbox(x_5); +x_10 = lean::unbox(x_4); +lean::dec(x_4); +x_11 = l___private_init_lean_parser_parser_1__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); -x_12 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2(x_1, x_9, x_10, x_4, x_11, x_6, x_7, x_8); -lean::dec(x_6); -lean::dec(x_1); -return x_12; +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, obj* x_6) { +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_7; uint8 x_8; obj* x_9; +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 = lean::unbox(x_3); +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); -x_9 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_id___elambda__1___spec__1(x_1, x_7, x_8, x_4, x_5, x_6); -lean::dec(x_4); -lean::dec(x_1); -return x_9; +return x_8; } } obj* l_Lean_Parser_Term_id___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -1383,31 +1325,66 @@ 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__6; +x_3 = l_Lean_Parser_Term_id___elambda__1___closed__5; x_4 = l_Lean_Parser_Term_id; x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; } } +obj* l_Lean_Parser_Term_num___elambda__1___rarg(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_Lean_Parser_numLitFn___rarg(x_1, x_2); +return x_3; +} +} +obj* l_Lean_Parser_Term_num___elambda__1(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_num___elambda__1___rarg), 2, 0); +return x_2; +} +} obj* _init_l_Lean_Parser_Term_num() { _start: { -obj* x_1; obj* x_2; uint8 x_3; obj* x_4; obj* x_5; obj* x_6; +obj* x_1; obj* x_2; obj* x_3; obj* x_4; x_1 = lean::mk_string("numLit"); x_2 = l_Lean_Parser_mkAtomicInfo(x_1); -x_3 = 0; -x_4 = lean::box(x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_numLitFn___boxed), 2, 1); -lean::closure_set(x_5, 0, x_4); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_2); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_num___elambda__1___boxed), 1, 0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_2); +lean::cnstr_set(x_4, 1, x_3); +return x_4; +} +} +obj* l_Lean_Parser_Term_num___elambda__1___boxed(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_Lean_Parser_Term_num___elambda__1(x_1); +lean::dec(x_1); +return x_2; } } obj* _init_l___regBuiltinParser_Lean_Parser_Term_num___closed__1() { @@ -1437,20 +1414,42 @@ x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; } } +obj* l_Lean_Parser_Term_str___elambda__1___rarg(obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_Lean_Parser_strLitFn___rarg(x_1, x_2); +return x_3; +} +} +obj* l_Lean_Parser_Term_str___elambda__1(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_str___elambda__1___rarg), 2, 0); +return x_2; +} +} obj* _init_l_Lean_Parser_Term_str() { _start: { -obj* x_1; obj* x_2; uint8 x_3; obj* x_4; obj* x_5; obj* x_6; +obj* x_1; obj* x_2; obj* x_3; obj* x_4; x_1 = lean::mk_string("strLit"); x_2 = l_Lean_Parser_mkAtomicInfo(x_1); -x_3 = 0; -x_4 = lean::box(x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_strLitFn___boxed), 2, 1); -lean::closure_set(x_5, 0, x_4); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_2); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_str___elambda__1___boxed), 1, 0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_2); +lean::cnstr_set(x_4, 1, x_3); +return x_4; +} +} +obj* l_Lean_Parser_Term_str___elambda__1___boxed(obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_Lean_Parser_Term_str___elambda__1(x_1); +lean::dec(x_1); +return x_2; } } obj* _init_l___regBuiltinParser_Lean_Parser_Term_str___closed__1() { @@ -2097,125 +2096,107 @@ lean::dec(x_1); return x_2; } } -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, uint8 x_5, obj* x_6, obj* x_7, obj* x_8) { +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___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_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_8, 0); -lean::inc(x_9); -x_10 = lean::array_get_size(x_9); -lean::dec(x_9); -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); -x_12 = l_Lean_Parser_termParserFn___rarg___closed__1; -x_13 = l_Lean_Parser_builtinTermParsingTable; -x_14 = lean::mk_nat_obj(0u); -lean::inc(x_7); -x_15 = l_Lean_Parser_runBuiltinParserUnsafe(x_12, x_13, x_14, x_7, x_8); -x_16 = lean::cnstr_get(x_15, 3); -lean::inc(x_16); -if (lean::obj_tag(x_16) == 0) +obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; +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 = l_Lean_Parser_termParserFn___rarg___closed__1; +x_12 = l_Lean_Parser_builtinTermParsingTable; +x_13 = lean::mk_nat_obj(0u); +lean::inc(x_6); +x_14 = l_Lean_Parser_runBuiltinParserUnsafe(x_11, x_12, x_13, x_6, x_7); +x_15 = lean::cnstr_get(x_14, 3); +lean::inc(x_15); +if (lean::obj_tag(x_15) == 0) { -obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; -lean::dec(x_11); +obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; lean::dec(x_10); -x_17 = lean::cnstr_get(x_15, 0); -lean::inc(x_17); -x_18 = lean::array_get_size(x_17); -lean::dec(x_17); -x_19 = lean::cnstr_get(x_15, 1); -lean::inc(x_19); -x_20 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_21 = lean::string_append(x_20, x_1); -x_22 = l_Char_HasRepr___closed__1; -x_23 = lean::string_append(x_21, x_22); -lean::inc(x_7); -x_24 = l_Lean_Parser_symbolFnAux(x_1, x_23, x_7, x_15); -x_25 = lean::cnstr_get(x_24, 3); -lean::inc(x_25); -if (lean::obj_tag(x_25) == 0) +lean::dec(x_9); +x_16 = lean::cnstr_get(x_14, 0); +lean::inc(x_16); +x_17 = lean::array_get_size(x_16); +lean::dec(x_16); +x_18 = lean::cnstr_get(x_14, 1); +lean::inc(x_18); +x_19 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1; +x_20 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2; +lean::inc(x_6); +x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_6, x_14); +x_22 = lean::cnstr_get(x_21, 3); +lean::inc(x_22); +if (lean::obj_tag(x_22) == 0) { -lean::dec(x_19); lean::dec(x_18); +lean::dec(x_17); { -uint8 _tmp_4 = x_3; -obj* _tmp_7 = x_24; -x_5 = _tmp_4; -x_8 = _tmp_7; +uint8 _tmp_3 = x_2; +obj* _tmp_6 = x_21; +x_4 = _tmp_3; +x_7 = _tmp_6; } goto _start; } else { -obj* x_27; obj* x_28; obj* x_29; -lean::dec(x_25); -lean::dec(x_7); -x_27 = l_Lean_Parser_ParserState_restore(x_24, x_18, x_19); -lean::dec(x_18); -x_28 = l_Lean_nullKind; -x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_4); -return x_29; +obj* x_24; obj* x_25; obj* x_26; +lean::dec(x_22); +lean::dec(x_6); +x_24 = l_Lean_Parser_ParserState_restore(x_21, x_17, x_18); +lean::dec(x_17); +x_25 = l_Lean_nullKind; +x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_3); +return x_26; } } else { -lean::dec(x_16); -lean::dec(x_7); -if (x_5 == 0) +lean::dec(x_15); +lean::dec(x_6); +if (x_4 == 0) { -obj* x_30; obj* x_31; obj* x_32; obj* x_33; -lean::dec(x_11); +obj* x_27; obj* x_28; obj* x_29; obj* x_30; lean::dec(x_10); -x_30 = lean::box(0); -x_31 = l_Lean_Parser_ParserState_pushSyntax(x_15, x_30); +lean::dec(x_9); +x_27 = lean::box(0); +x_28 = l_Lean_Parser_ParserState_pushSyntax(x_14, x_27); +x_29 = l_Lean_nullKind; +x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_3); +return x_30; +} +else +{ +obj* x_31; obj* x_32; obj* x_33; +x_31 = l_Lean_Parser_ParserState_restore(x_14, x_9, x_10); +lean::dec(x_9); x_32 = l_Lean_nullKind; -x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_4); +x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_3); return x_33; } -else -{ -obj* x_34; obj* x_35; obj* x_36; -x_34 = l_Lean_Parser_ParserState_restore(x_15, x_10, x_11); -lean::dec(x_10); -x_35 = l_Lean_nullKind; -x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_4); -return x_36; } } } -} -obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) { _start: { -obj* x_7; obj* x_8; uint8 x_9; obj* x_10; -x_7 = lean::cnstr_get(x_6, 0); -lean::inc(x_7); -x_8 = lean::array_get_size(x_7); -lean::dec(x_7); -x_9 = 0; -x_10 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(x_1, x_2, x_3, x_8, x_9, x_4, x_5, x_6); -return x_10; +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_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___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_tupleTail___elambda__1___closed__1() { _start: { -obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; -x_1 = lean::mk_string(", "); -x_2 = l_String_trim(x_1); -lean::dec(x_1); -x_3 = lean::mk_string("expected '"); -x_4 = lean::string_append(x_3, x_2); -lean::dec(x_2); -x_5 = lean::mk_string("'"); -x_6 = lean::string_append(x_4, x_5); -lean::dec(x_5); -return x_6; -} -} -obj* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__2() { -_start: -{ obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; x_1 = lean::box(0); x_2 = lean::mk_string("Lean"); @@ -2237,8 +2218,8 @@ 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 = l_Lean_Parser_Term_id___elambda__1___closed__3; -x_7 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__1; +x_6 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1; +x_7 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2; lean::inc(x_2); x_8 = l_Lean_Parser_symbolFnAux(x_6, x_7, x_2, x_3); x_9 = lean::cnstr_get(x_8, 3); @@ -2248,8 +2229,8 @@ if (lean::obj_tag(x_9) == 0) uint8 x_10; uint8 x_11; obj* x_12; obj* x_13; obj* x_14; x_10 = 0; x_11 = 0; -x_12 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_6, x_10, x_11, x_1, x_2, x_8); -x_13 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2; +x_12 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_10, x_11, x_1, x_2, x_8); +x_13 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__1; x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_5); return x_14; } @@ -2258,12 +2239,20 @@ else obj* x_15; obj* x_16; lean::dec(x_9); lean::dec(x_2); -x_15 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2; +x_15 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__1; x_16 = l_Lean_Parser_ParserState_mkNode(x_8, x_15, x_5); return x_16; } } } +obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___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_tupleTail___elambda__1___spec__1(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} obj* _init_l_Lean_Parser_Term_tupleTail() { _start: { @@ -2289,34 +2278,32 @@ lean::cnstr_set(x_12, 1, x_11); return x_12; } } -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___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, obj* x_8) { +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___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_9; uint8 x_10; uint8 x_11; obj* x_12; +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_3); -lean::dec(x_3); -x_11 = lean::unbox(x_5); +x_10 = lean::unbox(x_4); +lean::dec(x_4); +x_11 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(x_8, x_9, x_3, x_10, x_5, x_6, x_7); lean::dec(x_5); -x_12 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(x_1, x_9, x_10, x_4, x_11, x_6, x_7, x_8); -lean::dec(x_6); -lean::dec(x_1); -return x_12; +return x_11; } } -obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { _start: { -uint8 x_7; uint8 x_8; obj* x_9; +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 = lean::unbox(x_3); +x_8 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_6, x_7, x_3, x_4, x_5); lean::dec(x_3); -x_9 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_1, x_7, x_8, x_4, x_5, x_6); -lean::dec(x_4); -lean::dec(x_1); -return x_9; +return x_8; } } obj* l_Lean_Parser_Term_tupleTail___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -2328,6 +2315,19 @@ lean::dec(x_1); return x_4; } } +obj* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___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_tupleTail___spec__1(x_6, x_7, x_3, x_4, x_5); +lean::dec(x_3); +return x_8; +} +} obj* l_Lean_Parser_Term_parenSpecial___elambda__1(obj* x_1, obj* x_2, obj* x_3) { _start: { @@ -2752,42 +2752,41 @@ 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; uint8 x_12; obj* x_13; obj* x_14; -x_10 = l_Lean_Parser_Term_id___elambda__1___closed__3; +uint8 x_10; uint8 x_11; obj* x_12; obj* x_13; +x_10 = 0; x_11 = 0; -x_12 = 0; lean::inc(x_2); -x_13 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_10, x_11, x_12, x_1, x_2, x_8); -x_14 = lean::cnstr_get(x_13, 3); -lean::inc(x_14); -if (lean::obj_tag(x_14) == 0) +x_12 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_10, x_11, x_1, x_2, x_8); +x_13 = lean::cnstr_get(x_12, 3); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; -x_15 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__3; -x_16 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__4; -x_17 = l_Lean_Parser_symbolFnAux(x_15, x_16, x_2, x_13); -x_18 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5; -x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_5); -return x_19; +obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; +x_14 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__3; +x_15 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__4; +x_16 = l_Lean_Parser_symbolFnAux(x_14, x_15, x_2, x_12); +x_17 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5; +x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_5); +return x_18; } else { -obj* x_20; obj* x_21; -lean::dec(x_14); +obj* x_19; obj* x_20; +lean::dec(x_13); lean::dec(x_2); -x_20 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5; -x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_5); -return x_21; +x_19 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5; +x_20 = l_Lean_Parser_ParserState_mkNode(x_12, x_19, x_5); +return x_20; } } else { -obj* x_22; obj* x_23; +obj* x_21; obj* x_22; lean::dec(x_9); lean::dec(x_2); -x_22 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5; -x_23 = l_Lean_Parser_ParserState_mkNode(x_8, x_22, x_5); -return x_23; +x_21 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5; +x_22 = l_Lean_Parser_ParserState_mkNode(x_8, x_21, x_5); +return x_22; } } } @@ -4899,136 +4898,134 @@ lean::dec(x_1); return x_2; } } -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, uint8 x_5, obj* x_6, obj* x_7, obj* x_8) { +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___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_9; obj* x_10; obj* x_11; obj* x_12; obj* x_35; obj* x_36; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -x_10 = lean::array_get_size(x_9); -lean::dec(x_9); -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); -lean::inc(x_7); -x_35 = l_Lean_Parser_Term_structInstField___elambda__1___rarg(x_7, x_8); -x_36 = lean::cnstr_get(x_35, 3); -lean::inc(x_36); -if (lean::obj_tag(x_36) == 0) +obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_32; obj* x_33; +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); +lean::inc(x_6); +x_32 = l_Lean_Parser_Term_structInstField___elambda__1___rarg(x_6, x_7); +x_33 = lean::cnstr_get(x_32, 3); +lean::inc(x_33); +if (lean::obj_tag(x_33) == 0) { -x_12 = x_35; -goto block_34; +x_11 = x_32; +goto block_31; } else { -obj* x_37; uint8 x_38; -lean::dec(x_36); -x_37 = lean::cnstr_get(x_35, 1); -lean::inc(x_37); -x_38 = lean::nat_dec_eq(x_37, x_11); -lean::dec(x_37); -if (x_38 == 0) +obj* x_34; uint8 x_35; +lean::dec(x_33); +x_34 = lean::cnstr_get(x_32, 1); +lean::inc(x_34); +x_35 = lean::nat_dec_eq(x_34, x_10); +lean::dec(x_34); +if (x_35 == 0) { -x_12 = x_35; -goto block_34; +x_11 = x_32; +goto block_31; } else { -obj* x_39; obj* x_40; -lean::inc(x_11); -x_39 = l_Lean_Parser_ParserState_restore(x_35, x_10, x_11); -lean::inc(x_7); -x_40 = l_Lean_Parser_Term_structInstSource___elambda__1___rarg(x_7, x_39); -x_12 = x_40; -goto block_34; +obj* x_36; obj* x_37; +lean::inc(x_10); +x_36 = l_Lean_Parser_ParserState_restore(x_32, x_9, x_10); +lean::inc(x_6); +x_37 = l_Lean_Parser_Term_structInstSource___elambda__1___rarg(x_6, x_36); +x_11 = x_37; +goto block_31; } } -block_34: +block_31: { -obj* x_13; -x_13 = lean::cnstr_get(x_12, 3); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) +obj* x_12; +x_12 = lean::cnstr_get(x_11, 3); +lean::inc(x_12); +if (lean::obj_tag(x_12) == 0) { -obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; -lean::dec(x_11); +obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; lean::dec(x_10); -x_14 = lean::cnstr_get(x_12, 0); -lean::inc(x_14); -x_15 = lean::array_get_size(x_14); -lean::dec(x_14); -x_16 = lean::cnstr_get(x_12, 1); -lean::inc(x_16); -x_17 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_18 = lean::string_append(x_17, x_1); -x_19 = l_Char_HasRepr___closed__1; -x_20 = lean::string_append(x_18, x_19); -lean::inc(x_7); -x_21 = l_Lean_Parser_symbolFnAux(x_1, x_20, x_7, x_12); -x_22 = lean::cnstr_get(x_21, 3); -lean::inc(x_22); -if (lean::obj_tag(x_22) == 0) +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); +x_16 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1; +x_17 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2; +lean::inc(x_6); +x_18 = l_Lean_Parser_symbolFnAux(x_16, x_17, x_6, x_11); +x_19 = lean::cnstr_get(x_18, 3); +lean::inc(x_19); +if (lean::obj_tag(x_19) == 0) { -lean::dec(x_16); lean::dec(x_15); +lean::dec(x_14); { -uint8 _tmp_4 = x_3; -obj* _tmp_7 = x_21; -x_5 = _tmp_4; -x_8 = _tmp_7; +uint8 _tmp_3 = x_2; +obj* _tmp_6 = x_18; +x_4 = _tmp_3; +x_7 = _tmp_6; } goto _start; } else { -obj* x_24; obj* x_25; obj* x_26; -lean::dec(x_22); -lean::dec(x_7); -x_24 = l_Lean_Parser_ParserState_restore(x_21, x_15, x_16); -lean::dec(x_15); -x_25 = l_Lean_nullKind; -x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_4); -return x_26; +obj* x_21; obj* x_22; obj* x_23; +lean::dec(x_19); +lean::dec(x_6); +x_21 = l_Lean_Parser_ParserState_restore(x_18, x_14, x_15); +lean::dec(x_14); +x_22 = l_Lean_nullKind; +x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_3); +return x_23; } } else { -lean::dec(x_13); -lean::dec(x_7); -if (x_5 == 0) +lean::dec(x_12); +lean::dec(x_6); +if (x_4 == 0) { -obj* x_27; obj* x_28; obj* x_29; obj* x_30; -lean::dec(x_11); +obj* x_24; obj* x_25; obj* x_26; obj* x_27; lean::dec(x_10); -x_27 = lean::box(0); -x_28 = l_Lean_Parser_ParserState_pushSyntax(x_12, x_27); +lean::dec(x_9); +x_24 = lean::box(0); +x_25 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_24); +x_26 = l_Lean_nullKind; +x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_3); +return x_27; +} +else +{ +obj* x_28; obj* x_29; obj* x_30; +x_28 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10); +lean::dec(x_9); x_29 = l_Lean_nullKind; -x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_4); +x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_3); return x_30; } -else -{ -obj* x_31; obj* x_32; obj* x_33; -x_31 = l_Lean_Parser_ParserState_restore(x_12, x_10, x_11); -lean::dec(x_10); -x_32 = l_Lean_nullKind; -x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_4); -return x_33; } } } } -} -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) { _start: { -obj* x_7; obj* x_8; uint8 x_9; obj* x_10; -x_7 = lean::cnstr_get(x_6, 0); -lean::inc(x_7); -x_8 = lean::array_get_size(x_7); -lean::dec(x_7); -x_9 = 1; -x_10 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(x_1, x_2, x_3, x_8, x_9, x_4, x_5, x_6); -return x_10; +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 = 1; +x_9 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___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_structInst___elambda__1___closed__1() { @@ -5115,7 +5112,7 @@ x_9 = lean::cnstr_get(x_8, 3); lean::inc(x_9); if (lean::obj_tag(x_9) == 0) { -obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_70; obj* x_71; +obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_67; obj* x_68; x_10 = lean::cnstr_get(x_8, 0); lean::inc(x_10); x_11 = lean::cnstr_get(x_8, 1); @@ -5123,113 +5120,113 @@ lean::inc(x_11); x_12 = lean::array_get_size(x_10); lean::dec(x_10); lean::inc(x_2); -x_70 = l_Lean_Parser_identFn___rarg(x_2, x_8); -x_71 = lean::cnstr_get(x_70, 3); -lean::inc(x_71); -if (lean::obj_tag(x_71) == 0) +x_67 = l_Lean_Parser_identFn___rarg(x_2, x_8); +x_68 = lean::cnstr_get(x_67, 3); +lean::inc(x_68); +if (lean::obj_tag(x_68) == 0) { -obj* x_72; obj* x_73; obj* x_74; obj* x_75; -x_72 = l_Lean_Parser_Term_structInst___elambda__1___closed__4; -x_73 = l_Lean_Parser_Term_structInst___elambda__1___closed__5; +obj* x_69; obj* x_70; obj* x_71; obj* x_72; +x_69 = l_Lean_Parser_Term_structInst___elambda__1___closed__4; +x_70 = l_Lean_Parser_Term_structInst___elambda__1___closed__5; lean::inc(x_2); -x_74 = l_Lean_Parser_symbolFnAux(x_72, x_73, x_2, x_70); -x_75 = lean::cnstr_get(x_74, 3); -lean::inc(x_75); -if (lean::obj_tag(x_75) == 0) +x_71 = l_Lean_Parser_symbolFnAux(x_69, x_70, x_2, x_67); +x_72 = lean::cnstr_get(x_71, 3); +lean::inc(x_72); +if (lean::obj_tag(x_72) == 0) { -x_13 = x_74; -goto block_69; +x_13 = x_71; +goto block_66; } else { -uint8 x_76; -x_76 = !lean::is_exclusive(x_74); -if (x_76 == 0) +uint8 x_73; +x_73 = !lean::is_exclusive(x_71); +if (x_73 == 0) { -obj* x_77; obj* x_78; obj* x_79; obj* x_80; -x_77 = lean::cnstr_get(x_74, 0); -x_78 = lean::cnstr_get(x_74, 3); -lean::dec(x_78); -x_79 = lean::cnstr_get(x_74, 1); -lean::dec(x_79); -x_80 = l_Array_shrink___main___rarg(x_77, x_12); +obj* x_74; obj* x_75; obj* x_76; obj* x_77; +x_74 = lean::cnstr_get(x_71, 0); +x_75 = lean::cnstr_get(x_71, 3); +lean::dec(x_75); +x_76 = lean::cnstr_get(x_71, 1); +lean::dec(x_76); +x_77 = l_Array_shrink___main___rarg(x_74, x_12); lean::inc(x_11); -lean::cnstr_set(x_74, 1, x_11); -lean::cnstr_set(x_74, 0, x_80); -x_13 = x_74; -goto block_69; +lean::cnstr_set(x_71, 1, x_11); +lean::cnstr_set(x_71, 0, x_77); +x_13 = x_71; +goto block_66; } else { -obj* x_81; obj* x_82; obj* x_83; obj* x_84; -x_81 = lean::cnstr_get(x_74, 0); -x_82 = lean::cnstr_get(x_74, 2); -lean::inc(x_82); -lean::inc(x_81); -lean::dec(x_74); -x_83 = l_Array_shrink___main___rarg(x_81, x_12); -lean::inc(x_11); -x_84 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_84, 0, x_83); -lean::cnstr_set(x_84, 1, x_11); -lean::cnstr_set(x_84, 2, x_82); -lean::cnstr_set(x_84, 3, x_75); -x_13 = x_84; -goto block_69; -} -} -} -else -{ -obj* x_85; +obj* x_78; obj* x_79; obj* x_80; obj* x_81; +x_78 = lean::cnstr_get(x_71, 0); +x_79 = lean::cnstr_get(x_71, 2); +lean::inc(x_79); +lean::inc(x_78); lean::dec(x_71); -x_85 = lean::cnstr_get(x_70, 3); -lean::inc(x_85); -if (lean::obj_tag(x_85) == 0) -{ -x_13 = x_70; -goto block_69; +x_80 = l_Array_shrink___main___rarg(x_78, x_12); +lean::inc(x_11); +x_81 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_81, 0, x_80); +lean::cnstr_set(x_81, 1, x_11); +lean::cnstr_set(x_81, 2, x_79); +lean::cnstr_set(x_81, 3, x_72); +x_13 = x_81; +goto block_66; +} +} } else { -uint8 x_86; -x_86 = !lean::is_exclusive(x_70); -if (x_86 == 0) +obj* x_82; +lean::dec(x_68); +x_82 = lean::cnstr_get(x_67, 3); +lean::inc(x_82); +if (lean::obj_tag(x_82) == 0) { -obj* x_87; obj* x_88; obj* x_89; obj* x_90; -x_87 = lean::cnstr_get(x_70, 0); -x_88 = lean::cnstr_get(x_70, 3); -lean::dec(x_88); -x_89 = lean::cnstr_get(x_70, 1); -lean::dec(x_89); -x_90 = l_Array_shrink___main___rarg(x_87, x_12); -lean::inc(x_11); -lean::cnstr_set(x_70, 1, x_11); -lean::cnstr_set(x_70, 0, x_90); -x_13 = x_70; -goto block_69; +x_13 = x_67; +goto block_66; } else { -obj* x_91; obj* x_92; obj* x_93; obj* x_94; -x_91 = lean::cnstr_get(x_70, 0); -x_92 = lean::cnstr_get(x_70, 2); -lean::inc(x_92); -lean::inc(x_91); -lean::dec(x_70); -x_93 = l_Array_shrink___main___rarg(x_91, x_12); +uint8 x_83; +x_83 = !lean::is_exclusive(x_67); +if (x_83 == 0) +{ +obj* x_84; obj* x_85; obj* x_86; obj* x_87; +x_84 = lean::cnstr_get(x_67, 0); +x_85 = lean::cnstr_get(x_67, 3); +lean::dec(x_85); +x_86 = lean::cnstr_get(x_67, 1); +lean::dec(x_86); +x_87 = l_Array_shrink___main___rarg(x_84, x_12); lean::inc(x_11); -x_94 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_94, 0, x_93); -lean::cnstr_set(x_94, 1, x_11); -lean::cnstr_set(x_94, 2, x_92); -lean::cnstr_set(x_94, 3, x_85); -x_13 = x_94; -goto block_69; +lean::cnstr_set(x_67, 1, x_11); +lean::cnstr_set(x_67, 0, x_87); +x_13 = x_67; +goto block_66; +} +else +{ +obj* x_88; obj* x_89; obj* x_90; obj* x_91; +x_88 = lean::cnstr_get(x_67, 0); +x_89 = lean::cnstr_get(x_67, 2); +lean::inc(x_89); +lean::inc(x_88); +lean::dec(x_67); +x_90 = l_Array_shrink___main___rarg(x_88, x_12); +lean::inc(x_11); +x_91 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_91, 0, x_90); +lean::cnstr_set(x_91, 1, x_11); +lean::cnstr_set(x_91, 2, x_89); +lean::cnstr_set(x_91, 3, x_82); +x_13 = x_91; +goto block_66; } } } -block_69: +block_66: { obj* x_14; x_14 = lean::cnstr_get(x_13, 3); @@ -5244,146 +5241,143 @@ x_17 = lean::cnstr_get(x_16, 3); lean::inc(x_17); if (lean::obj_tag(x_17) == 0) { -obj* x_18; uint8 x_19; uint8 x_20; obj* x_21; obj* x_22; -x_18 = l_Lean_Parser_Term_id___elambda__1___closed__3; -x_19 = 0; -x_20 = 1; +uint8 x_18; uint8 x_19; obj* x_20; obj* x_21; +x_18 = 0; +x_19 = 1; lean::inc(x_2); -x_21 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_18, x_19, x_20, x_1, x_2, x_16); -x_22 = lean::cnstr_get(x_21, 3); -lean::inc(x_22); -if (lean::obj_tag(x_22) == 0) +x_20 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_18, x_19, x_1, x_2, x_16); +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; obj* x_25; obj* x_26; obj* x_27; +obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; +x_22 = l_Lean_Parser_Term_id___elambda__1___closed__3; x_23 = l_Lean_Parser_Term_id___elambda__1___closed__4; -x_24 = l_Lean_Parser_Term_id___elambda__1___closed__5; -x_25 = l_Lean_Parser_symbolFnAux(x_23, x_24, x_2, x_21); -x_26 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5); -return x_27; +x_24 = l_Lean_Parser_symbolFnAux(x_22, x_23, x_2, x_20); +x_25 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_5); +return x_26; } else { -obj* x_28; obj* x_29; -lean::dec(x_22); +obj* x_27; obj* x_28; +lean::dec(x_21); lean::dec(x_2); -x_28 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_29 = l_Lean_Parser_ParserState_mkNode(x_21, x_28, x_5); -return x_29; +x_27 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_28 = l_Lean_Parser_ParserState_mkNode(x_20, x_27, x_5); +return x_28; } } else { -obj* x_30; obj* x_31; +obj* x_29; obj* x_30; lean::dec(x_17); lean::dec(x_2); -x_30 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_31 = l_Lean_Parser_ParserState_mkNode(x_16, x_30, x_5); -return x_31; +x_29 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_30 = l_Lean_Parser_ParserState_mkNode(x_16, x_29, x_5); +return x_30; } } else { -obj* x_32; uint8 x_33; +obj* x_31; uint8 x_32; lean::dec(x_14); -x_32 = lean::cnstr_get(x_13, 1); -lean::inc(x_32); -x_33 = lean::nat_dec_eq(x_32, x_11); -lean::dec(x_32); -if (x_33 == 0) +x_31 = lean::cnstr_get(x_13, 1); +lean::inc(x_31); +x_32 = lean::nat_dec_eq(x_31, x_11); +lean::dec(x_31); +if (x_32 == 0) { -obj* x_34; obj* x_35; obj* x_36; +obj* x_33; obj* x_34; obj* x_35; lean::dec(x_11); -x_34 = l_Lean_nullKind; -x_35 = l_Lean_Parser_ParserState_mkNode(x_13, x_34, x_12); -x_36 = lean::cnstr_get(x_35, 3); -lean::inc(x_36); -if (lean::obj_tag(x_36) == 0) +x_33 = l_Lean_nullKind; +x_34 = l_Lean_Parser_ParserState_mkNode(x_13, x_33, x_12); +x_35 = lean::cnstr_get(x_34, 3); +lean::inc(x_35); +if (lean::obj_tag(x_35) == 0) { -obj* x_37; uint8 x_38; uint8 x_39; obj* x_40; obj* x_41; -x_37 = l_Lean_Parser_Term_id___elambda__1___closed__3; -x_38 = 0; -x_39 = 1; +uint8 x_36; uint8 x_37; obj* x_38; obj* x_39; +x_36 = 0; +x_37 = 1; lean::inc(x_2); -x_40 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_37, x_38, x_39, x_1, x_2, x_35); -x_41 = lean::cnstr_get(x_40, 3); -lean::inc(x_41); -if (lean::obj_tag(x_41) == 0) +x_38 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_36, x_37, x_1, x_2, x_34); +x_39 = lean::cnstr_get(x_38, 3); +lean::inc(x_39); +if (lean::obj_tag(x_39) == 0) { -obj* x_42; obj* x_43; obj* x_44; obj* x_45; obj* x_46; -x_42 = l_Lean_Parser_Term_id___elambda__1___closed__4; -x_43 = l_Lean_Parser_Term_id___elambda__1___closed__5; -x_44 = l_Lean_Parser_symbolFnAux(x_42, x_43, x_2, x_40); +obj* x_40; obj* x_41; obj* x_42; obj* x_43; obj* x_44; +x_40 = l_Lean_Parser_Term_id___elambda__1___closed__3; +x_41 = l_Lean_Parser_Term_id___elambda__1___closed__4; +x_42 = l_Lean_Parser_symbolFnAux(x_40, x_41, x_2, x_38); +x_43 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_5); +return x_44; +} +else +{ +obj* x_45; obj* x_46; +lean::dec(x_39); +lean::dec(x_2); x_45 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_5); +x_46 = l_Lean_Parser_ParserState_mkNode(x_38, x_45, x_5); return x_46; } +} else { obj* x_47; obj* x_48; -lean::dec(x_41); +lean::dec(x_35); lean::dec(x_2); x_47 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_48 = l_Lean_Parser_ParserState_mkNode(x_40, x_47, x_5); +x_48 = l_Lean_Parser_ParserState_mkNode(x_34, x_47, x_5); return x_48; } } else { -obj* x_49; obj* x_50; -lean::dec(x_36); -lean::dec(x_2); -x_49 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_50 = l_Lean_Parser_ParserState_mkNode(x_35, x_49, x_5); -return x_50; -} -} -else +obj* x_49; obj* x_50; obj* x_51; obj* x_52; +x_49 = l_Lean_Parser_ParserState_restore(x_13, x_12, x_11); +x_50 = l_Lean_nullKind; +x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_12); +x_52 = lean::cnstr_get(x_51, 3); +lean::inc(x_52); +if (lean::obj_tag(x_52) == 0) { -obj* x_51; obj* x_52; obj* x_53; obj* x_54; -x_51 = l_Lean_Parser_ParserState_restore(x_13, x_12, x_11); -x_52 = l_Lean_nullKind; -x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_12); -x_54 = lean::cnstr_get(x_53, 3); -lean::inc(x_54); -if (lean::obj_tag(x_54) == 0) -{ -obj* x_55; uint8 x_56; uint8 x_57; obj* x_58; obj* x_59; -x_55 = l_Lean_Parser_Term_id___elambda__1___closed__3; -x_56 = 0; -x_57 = 1; +uint8 x_53; uint8 x_54; obj* x_55; obj* x_56; +x_53 = 0; +x_54 = 1; lean::inc(x_2); -x_58 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_55, x_56, x_57, x_1, x_2, x_53); -x_59 = lean::cnstr_get(x_58, 3); -lean::inc(x_59); -if (lean::obj_tag(x_59) == 0) +x_55 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_53, x_54, x_1, x_2, x_51); +x_56 = lean::cnstr_get(x_55, 3); +lean::inc(x_56); +if (lean::obj_tag(x_56) == 0) { -obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; -x_60 = l_Lean_Parser_Term_id___elambda__1___closed__4; -x_61 = l_Lean_Parser_Term_id___elambda__1___closed__5; -x_62 = l_Lean_Parser_symbolFnAux(x_60, x_61, x_2, x_58); -x_63 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_64 = l_Lean_Parser_ParserState_mkNode(x_62, x_63, x_5); -return x_64; +obj* x_57; obj* x_58; obj* x_59; obj* x_60; obj* x_61; +x_57 = l_Lean_Parser_Term_id___elambda__1___closed__3; +x_58 = l_Lean_Parser_Term_id___elambda__1___closed__4; +x_59 = l_Lean_Parser_symbolFnAux(x_57, x_58, x_2, x_55); +x_60 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_61 = l_Lean_Parser_ParserState_mkNode(x_59, x_60, x_5); +return x_61; } else { -obj* x_65; obj* x_66; -lean::dec(x_59); +obj* x_62; obj* x_63; +lean::dec(x_56); lean::dec(x_2); -x_65 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_66 = l_Lean_Parser_ParserState_mkNode(x_58, x_65, x_5); -return x_66; +x_62 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_63 = l_Lean_Parser_ParserState_mkNode(x_55, x_62, x_5); +return x_63; } } else { -obj* x_67; obj* x_68; -lean::dec(x_54); +obj* x_64; obj* x_65; +lean::dec(x_52); lean::dec(x_2); -x_67 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_68 = l_Lean_Parser_ParserState_mkNode(x_53, x_67, x_5); -return x_68; +x_64 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_65 = l_Lean_Parser_ParserState_mkNode(x_51, x_64, x_5); +return x_65; } } } @@ -5391,15 +5385,23 @@ return x_68; } else { -obj* x_95; obj* x_96; +obj* x_92; obj* x_93; lean::dec(x_9); lean::dec(x_2); -x_95 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; -x_96 = l_Lean_Parser_ParserState_mkNode(x_8, x_95, x_5); -return x_96; +x_92 = l_Lean_Parser_Term_structInst___elambda__1___closed__3; +x_93 = l_Lean_Parser_ParserState_mkNode(x_8, x_92, x_5); +return x_93; } } } +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___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_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} obj* _init_l_Lean_Parser_Term_structInst() { _start: { @@ -5447,34 +5449,32 @@ lean::cnstr_set(x_31, 1, x_30); return x_31; } } -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___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, obj* x_8) { +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___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_9; uint8 x_10; uint8 x_11; obj* x_12; +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_3); -lean::dec(x_3); -x_11 = lean::unbox(x_5); +x_10 = lean::unbox(x_4); +lean::dec(x_4); +x_11 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(x_8, x_9, x_3, x_10, x_5, x_6, x_7); lean::dec(x_5); -x_12 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(x_1, x_9, x_10, x_4, x_11, x_6, x_7, x_8); -lean::dec(x_6); -lean::dec(x_1); -return x_12; +return x_11; } } -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { _start: { -uint8 x_7; uint8 x_8; obj* x_9; +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 = lean::unbox(x_3); +x_8 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_6, x_7, x_3, x_4, x_5); lean::dec(x_3); -x_9 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_1, x_7, x_8, x_4, x_5, x_6); -lean::dec(x_4); -lean::dec(x_1); -return x_9; +return x_8; } } obj* l_Lean_Parser_Term_structInst___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -5486,6 +5486,19 @@ lean::dec(x_1); return x_4; } } +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___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_sepByFn___at_Lean_Parser_Term_structInst___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_structInst(obj* x_1) { _start: { @@ -5761,8 +5774,8 @@ lean::inc(x_21); if (lean::obj_tag(x_21) == 0) { obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; -x_22 = l_Lean_Parser_Term_id___elambda__1___closed__4; -x_23 = l_Lean_Parser_Term_id___elambda__1___closed__5; +x_22 = l_Lean_Parser_Term_id___elambda__1___closed__3; +x_23 = l_Lean_Parser_Term_id___elambda__1___closed__4; x_24 = l_Lean_Parser_symbolFnAux(x_22, x_23, x_1, x_20); x_25 = l_Lean_Parser_Term_subtype___elambda__1___rarg___closed__3; x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_4); @@ -5887,104 +5900,128 @@ x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; } } -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, uint8 x_5, obj* x_6, obj* x_7, obj* x_8) { +obj* _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__1() { _start: { -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_8, 0); -lean::inc(x_9); -x_10 = lean::array_get_size(x_9); -lean::dec(x_9); -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); -x_12 = l_Lean_Parser_termParserFn___rarg___closed__1; -x_13 = l_Lean_Parser_builtinTermParsingTable; -x_14 = lean::mk_nat_obj(0u); -lean::inc(x_7); -x_15 = l_Lean_Parser_runBuiltinParserUnsafe(x_12, x_13, x_14, x_7, x_8); -x_16 = lean::cnstr_get(x_15, 3); -lean::inc(x_16); -if (lean::obj_tag(x_16) == 0) +obj* x_1; obj* x_2; +x_1 = lean::mk_string(","); +x_2 = l_String_trim(x_1); +lean::dec(x_1); +return x_2; +} +} +obj* _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__2() { +_start: { -obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; -lean::dec(x_11); +obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; +x_1 = lean::mk_string(","); +x_2 = l_String_trim(x_1); +lean::dec(x_1); +x_3 = lean::mk_string("expected '"); +x_4 = lean::string_append(x_3, x_2); +lean::dec(x_2); +x_5 = lean::mk_string("'"); +x_6 = lean::string_append(x_4, x_5); +lean::dec(x_5); +return x_6; +} +} +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___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; obj* x_15; +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 = l_Lean_Parser_termParserFn___rarg___closed__1; +x_12 = l_Lean_Parser_builtinTermParsingTable; +x_13 = lean::mk_nat_obj(0u); +lean::inc(x_6); +x_14 = l_Lean_Parser_runBuiltinParserUnsafe(x_11, x_12, x_13, x_6, x_7); +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; obj* x_19; obj* x_20; obj* x_21; obj* x_22; lean::dec(x_10); -x_17 = lean::cnstr_get(x_15, 0); -lean::inc(x_17); -x_18 = lean::array_get_size(x_17); -lean::dec(x_17); -x_19 = lean::cnstr_get(x_15, 1); -lean::inc(x_19); -x_20 = l_Lean_Parser_symbolFn___rarg___closed__1; -x_21 = lean::string_append(x_20, x_1); -x_22 = l_Char_HasRepr___closed__1; -x_23 = lean::string_append(x_21, x_22); -lean::inc(x_7); -x_24 = l_Lean_Parser_symbolFnAux(x_1, x_23, x_7, x_15); -x_25 = lean::cnstr_get(x_24, 3); -lean::inc(x_25); -if (lean::obj_tag(x_25) == 0) +lean::dec(x_9); +x_16 = lean::cnstr_get(x_14, 0); +lean::inc(x_16); +x_17 = lean::array_get_size(x_16); +lean::dec(x_16); +x_18 = lean::cnstr_get(x_14, 1); +lean::inc(x_18); +x_19 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__1; +x_20 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__2; +lean::inc(x_6); +x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_6, x_14); +x_22 = lean::cnstr_get(x_21, 3); +lean::inc(x_22); +if (lean::obj_tag(x_22) == 0) { -lean::dec(x_19); lean::dec(x_18); +lean::dec(x_17); { -uint8 _tmp_4 = x_3; -obj* _tmp_7 = x_24; -x_5 = _tmp_4; -x_8 = _tmp_7; +uint8 _tmp_3 = x_2; +obj* _tmp_6 = x_21; +x_4 = _tmp_3; +x_7 = _tmp_6; } goto _start; } else { -obj* x_27; obj* x_28; obj* x_29; -lean::dec(x_25); -lean::dec(x_7); -x_27 = l_Lean_Parser_ParserState_restore(x_24, x_18, x_19); -lean::dec(x_18); -x_28 = l_Lean_nullKind; -x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_4); -return x_29; +obj* x_24; obj* x_25; obj* x_26; +lean::dec(x_22); +lean::dec(x_6); +x_24 = l_Lean_Parser_ParserState_restore(x_21, x_17, x_18); +lean::dec(x_17); +x_25 = l_Lean_nullKind; +x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_3); +return x_26; } } else { -lean::dec(x_16); -lean::dec(x_7); -if (x_5 == 0) +lean::dec(x_15); +lean::dec(x_6); +if (x_4 == 0) { -obj* x_30; obj* x_31; obj* x_32; obj* x_33; -lean::dec(x_11); +obj* x_27; obj* x_28; obj* x_29; obj* x_30; lean::dec(x_10); -x_30 = lean::box(0); -x_31 = l_Lean_Parser_ParserState_pushSyntax(x_15, x_30); +lean::dec(x_9); +x_27 = lean::box(0); +x_28 = l_Lean_Parser_ParserState_pushSyntax(x_14, x_27); +x_29 = l_Lean_nullKind; +x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_3); +return x_30; +} +else +{ +obj* x_31; obj* x_32; obj* x_33; +x_31 = l_Lean_Parser_ParserState_restore(x_14, x_9, x_10); +lean::dec(x_9); x_32 = l_Lean_nullKind; -x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_4); +x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_3); return x_33; } -else -{ -obj* x_34; obj* x_35; obj* x_36; -x_34 = l_Lean_Parser_ParserState_restore(x_15, x_10, x_11); -lean::dec(x_10); -x_35 = l_Lean_nullKind; -x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_4); -return x_36; } } } -} -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(obj* x_1, uint8 x_2, uint8 x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(uint8 x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) { _start: { -obj* x_7; obj* x_8; uint8 x_9; obj* x_10; -x_7 = lean::cnstr_get(x_6, 0); -lean::inc(x_7); -x_8 = lean::array_get_size(x_7); -lean::dec(x_7); -x_9 = 1; -x_10 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2(x_1, x_2, x_3, x_8, x_9, x_4, x_5, x_6); -return x_10; +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 = 1; +x_9 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___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_list___elambda__1___closed__1() { @@ -6017,23 +6054,13 @@ obj* _init_l_Lean_Parser_Term_list___elambda__1___closed__3() { _start: { obj* x_1; obj* x_2; -x_1 = lean::mk_string(","); -x_2 = l_String_trim(x_1); -lean::dec(x_1); -return x_2; -} -} -obj* _init_l_Lean_Parser_Term_list___elambda__1___closed__4() { -_start: -{ -obj* x_1; obj* x_2; x_1 = lean::mk_string("]"); x_2 = l_String_trim(x_1); lean::dec(x_1); return x_2; } } -obj* _init_l_Lean_Parser_Term_list___elambda__1___closed__5() { +obj* _init_l_Lean_Parser_Term_list___elambda__1___closed__4() { _start: { obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; @@ -6049,7 +6076,7 @@ lean::dec(x_5); return x_6; } } -obj* _init_l_Lean_Parser_Term_list___elambda__1___closed__6() { +obj* _init_l_Lean_Parser_Term_list___elambda__1___closed__5() { _start: { obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; @@ -6081,45 +6108,52 @@ 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; uint8 x_12; obj* x_13; obj* x_14; -x_10 = l_Lean_Parser_Term_list___elambda__1___closed__3; -x_11 = 0; -x_12 = 1; +uint8 x_10; uint8 x_11; obj* x_12; obj* x_13; +x_10 = 0; +x_11 = 1; lean::inc(x_2); -x_13 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(x_10, x_11, x_12, x_1, x_2, x_8); -x_14 = lean::cnstr_get(x_13, 3); -lean::inc(x_14); -if (lean::obj_tag(x_14) == 0) +x_12 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(x_10, x_11, x_1, x_2, x_8); +x_13 = lean::cnstr_get(x_12, 3); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; +obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; +x_14 = l_Lean_Parser_Term_list___elambda__1___closed__3; x_15 = l_Lean_Parser_Term_list___elambda__1___closed__4; -x_16 = l_Lean_Parser_Term_list___elambda__1___closed__5; -x_17 = l_Lean_Parser_symbolFnAux(x_15, x_16, x_2, x_13); -x_18 = l_Lean_Parser_Term_list___elambda__1___closed__6; -x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_5); -return x_19; +x_16 = l_Lean_Parser_symbolFnAux(x_14, x_15, x_2, x_12); +x_17 = l_Lean_Parser_Term_list___elambda__1___closed__5; +x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_5); +return x_18; } else { -obj* x_20; obj* x_21; -lean::dec(x_14); +obj* x_19; obj* x_20; +lean::dec(x_13); lean::dec(x_2); -x_20 = l_Lean_Parser_Term_list___elambda__1___closed__6; -x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_5); -return x_21; +x_19 = l_Lean_Parser_Term_list___elambda__1___closed__5; +x_20 = l_Lean_Parser_ParserState_mkNode(x_12, x_19, x_5); +return x_20; } } else { -obj* x_22; obj* x_23; +obj* x_21; obj* x_22; lean::dec(x_9); lean::dec(x_2); -x_22 = l_Lean_Parser_Term_list___elambda__1___closed__6; -x_23 = l_Lean_Parser_ParserState_mkNode(x_8, x_22, x_5); -return x_23; +x_21 = l_Lean_Parser_Term_list___elambda__1___closed__5; +x_22 = l_Lean_Parser_ParserState_mkNode(x_8, x_21, x_5); +return x_22; } } } +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_list___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_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} obj* _init_l_Lean_Parser_Term_list() { _start: { @@ -6156,34 +6190,32 @@ lean::cnstr_set(x_21, 1, x_20); return x_21; } } -obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___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, obj* x_8) { +obj* l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___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_9; uint8 x_10; uint8 x_11; obj* x_12; +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_3); -lean::dec(x_3); -x_11 = lean::unbox(x_5); +x_10 = lean::unbox(x_4); +lean::dec(x_4); +x_11 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2(x_8, x_9, x_3, x_10, x_5, x_6, x_7); lean::dec(x_5); -x_12 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2(x_1, x_9, x_10, x_4, x_11, x_6, x_7, x_8); -lean::dec(x_6); -lean::dec(x_1); -return x_12; +return x_11; } } -obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { +obj* l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { _start: { -uint8 x_7; uint8 x_8; obj* x_9; +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 = lean::unbox(x_3); +x_8 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(x_6, x_7, x_3, x_4, x_5); lean::dec(x_3); -x_9 = l_Lean_Parser_sepByFn___main___at_Lean_Parser_Term_list___elambda__1___spec__1(x_1, x_7, x_8, x_4, x_5, x_6); -lean::dec(x_4); -lean::dec(x_1); -return x_9; +return x_8; } } obj* l_Lean_Parser_Term_list___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) { @@ -6195,12 +6227,25 @@ lean::dec(x_1); return x_4; } } +obj* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_list___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_sepByFn___at_Lean_Parser_Term_list___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_list(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_list___elambda__1___closed__6; +x_3 = l_Lean_Parser_Term_list___elambda__1___closed__5; x_4 = l_Lean_Parser_Term_list; x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; @@ -6691,54 +6736,6 @@ lean::dec(x_1); return x_2; } } -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_explicitBinder___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; -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); -x_8 = l_Lean_Parser_Term_binderIdent___elambda__1___rarg(x_3, x_4); -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); -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) -{ -x_4 = x_8; -goto _start; -} -else -{ -obj* x_13; obj* x_14; -lean::dec(x_3); -x_13 = l_Lean_Parser_manyAux___main___closed__1; -x_14 = l_Lean_Parser_ParserState_mkError(x_8, x_13); -return x_14; -} -} -else -{ -obj* x_15; -lean::dec(x_9); -lean::dec(x_3); -x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7); -lean::dec(x_6); -return x_15; -} -} -} obj* _init_l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1() { _start: { @@ -6758,239 +6755,15 @@ return x_9; obj* l_Lean_Parser_Term_explicitBinder___elambda__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -obj* x_5; obj* x_6; obj* x_7; obj* x_62; obj* x_63; obj* x_64; obj* x_65; +obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; 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_62 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__1; -x_63 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__2; -lean::inc(x_3); -x_64 = l_Lean_Parser_symbolFnAux(x_62, x_63, x_3, x_4); -x_65 = lean::cnstr_get(x_64, 3); -lean::inc(x_65); -if (lean::obj_tag(x_65) == 0) -{ -obj* x_66; obj* x_67; obj* x_68; obj* x_69; -x_66 = lean::cnstr_get(x_64, 0); -lean::inc(x_66); -x_67 = lean::array_get_size(x_66); -lean::dec(x_66); -lean::inc(x_3); -x_68 = l_Lean_Parser_Term_binderIdent___elambda__1___rarg(x_3, x_64); -x_69 = lean::cnstr_get(x_68, 3); -lean::inc(x_69); -if (lean::obj_tag(x_69) == 0) -{ -uint8 x_70; obj* x_71; obj* x_72; obj* x_73; -x_70 = 0; -lean::inc(x_3); -x_71 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_explicitBinder___elambda__1___spec__1(x_70, x_2, x_3, x_68); -x_72 = l_Lean_nullKind; -x_73 = l_Lean_Parser_ParserState_mkNode(x_71, x_72, x_67); -x_7 = x_73; -goto block_61; -} -else -{ -obj* x_74; obj* x_75; -lean::dec(x_69); -x_74 = l_Lean_nullKind; -x_75 = l_Lean_Parser_ParserState_mkNode(x_68, x_74, x_67); -x_7 = x_75; -goto block_61; -} -} -else -{ -obj* x_76; obj* x_77; -lean::dec(x_65); -lean::dec(x_3); -lean::dec(x_2); -lean::dec(x_1); -x_76 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_77 = l_Lean_Parser_ParserState_mkNode(x_64, x_76, x_6); -return x_77; -} -block_61: -{ -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_1, 1); -lean::inc(x_9); -lean::dec(x_1); -lean::inc(x_3); -x_10 = lean::apply_3(x_9, x_2, x_3, 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; obj* x_14; obj* x_15; obj* x_51; obj* x_52; -x_12 = lean::cnstr_get(x_10, 0); -lean::inc(x_12); -x_13 = lean::array_get_size(x_12); -lean::dec(x_12); -x_14 = lean::cnstr_get(x_10, 1); -lean::inc(x_14); -lean::inc(x_3); -x_51 = l_Lean_Parser_Term_binderDefault___elambda__1___rarg(x_3, x_10); -x_52 = lean::cnstr_get(x_51, 3); -lean::inc(x_52); -if (lean::obj_tag(x_52) == 0) -{ -x_15 = x_51; -goto block_50; -} -else -{ -obj* x_53; uint8 x_54; -lean::dec(x_52); -x_53 = lean::cnstr_get(x_51, 1); -lean::inc(x_53); -x_54 = lean::nat_dec_eq(x_53, x_14); -lean::dec(x_53); -if (x_54 == 0) -{ -x_15 = x_51; -goto block_50; -} -else -{ -obj* x_55; obj* x_56; -lean::inc(x_14); -x_55 = l_Lean_Parser_ParserState_restore(x_51, x_13, x_14); -lean::inc(x_3); -x_56 = l_Lean_Parser_Term_binderTactic___elambda__1___rarg(x_3, x_55); -x_15 = x_56; -goto block_50; -} -} -block_50: -{ -obj* x_16; -x_16 = lean::cnstr_get(x_15, 3); -lean::inc(x_16); -if (lean::obj_tag(x_16) == 0) -{ -obj* x_17; obj* x_18; obj* x_19; -lean::dec(x_14); -x_17 = l_Lean_nullKind; -x_18 = l_Lean_Parser_ParserState_mkNode(x_15, x_17, x_13); -x_19 = lean::cnstr_get(x_18, 3); -lean::inc(x_19); -if (lean::obj_tag(x_19) == 0) -{ -obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; -x_20 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__3; -x_21 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__4; -x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_3, x_18); -x_23 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_6); -return x_24; -} -else -{ -obj* x_25; obj* x_26; -lean::dec(x_19); -lean::dec(x_3); -x_25 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_6); -return x_26; -} -} -else -{ -obj* x_27; uint8 x_28; -lean::dec(x_16); -x_27 = lean::cnstr_get(x_15, 1); -lean::inc(x_27); -x_28 = lean::nat_dec_eq(x_27, x_14); -lean::dec(x_27); -if (x_28 == 0) -{ -obj* x_29; obj* x_30; obj* x_31; -lean::dec(x_14); -x_29 = l_Lean_nullKind; -x_30 = l_Lean_Parser_ParserState_mkNode(x_15, x_29, x_13); -x_31 = lean::cnstr_get(x_30, 3); -lean::inc(x_31); -if (lean::obj_tag(x_31) == 0) -{ -obj* x_32; obj* x_33; obj* x_34; obj* x_35; obj* x_36; -x_32 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__3; -x_33 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__4; -x_34 = l_Lean_Parser_symbolFnAux(x_32, x_33, x_3, x_30); -x_35 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_6); -return x_36; -} -else -{ -obj* x_37; obj* x_38; -lean::dec(x_31); -lean::dec(x_3); -x_37 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_38 = l_Lean_Parser_ParserState_mkNode(x_30, x_37, x_6); -return x_38; -} -} -else -{ -obj* x_39; obj* x_40; obj* x_41; obj* x_42; -x_39 = l_Lean_Parser_ParserState_restore(x_15, x_13, x_14); -x_40 = l_Lean_nullKind; -x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_13); -x_42 = lean::cnstr_get(x_41, 3); -lean::inc(x_42); -if (lean::obj_tag(x_42) == 0) -{ -obj* x_43; obj* x_44; obj* x_45; obj* x_46; obj* x_47; -x_43 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__3; -x_44 = l_Lean_Parser_Level_paren___elambda__1___rarg___closed__4; -x_45 = l_Lean_Parser_symbolFnAux(x_43, x_44, x_3, x_41); -x_46 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_6); -return x_47; -} -else -{ -obj* x_48; obj* x_49; -lean::dec(x_42); -lean::dec(x_3); -x_48 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_49 = l_Lean_Parser_ParserState_mkNode(x_41, x_48, x_6); -return x_49; -} -} -} -} -} -else -{ -obj* x_57; obj* x_58; -lean::dec(x_11); -lean::dec(x_3); -x_57 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_58 = l_Lean_Parser_ParserState_mkNode(x_10, x_57, x_6); -return x_58; -} -} -else -{ -obj* x_59; obj* x_60; -lean::dec(x_8); -lean::dec(x_3); -lean::dec(x_2); -lean::dec(x_1); -x_59 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; -x_60 = l_Lean_Parser_ParserState_mkNode(x_7, x_59, x_6); -return x_60; -} -} +x_7 = lean::apply_3(x_1, x_2, x_3, x_4); +x_8 = l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1; +x_9 = l_Lean_Parser_ParserState_mkNode(x_7, x_8, x_6); +return x_9; } } obj* _init_l_Lean_Parser_Term_explicitBinder___closed__1() { @@ -7017,6 +6790,28 @@ return x_11; obj* _init_l_Lean_Parser_Term_explicitBinder___closed__2() { _start: { +obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; +x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_binderDefault___elambda__1___boxed), 1, 0); +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_binderTactic___elambda__1___boxed), 1, 0); +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_orelseFn___rarg), 5, 2); +lean::closure_set(x_3, 0, x_1); +lean::closure_set(x_3, 1, x_2); +x_4 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_optionalFn___rarg), 4, 1); +lean::closure_set(x_4, 0, x_3); +x_5 = lean::mk_string(")"); +x_6 = l_String_trim(x_5); +lean::dec(x_5); +x_7 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); +lean::closure_set(x_7, 0, x_6); +x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_8, 0, x_4); +lean::closure_set(x_8, 1, x_7); +return x_8; +} +} +obj* _init_l_Lean_Parser_Term_explicitBinder___closed__3() { +_start: +{ obj* x_1; obj* x_2; x_1 = l_Lean_Parser_Term_binderIdent; x_2 = lean::cnstr_get(x_1, 0); @@ -7024,7 +6819,20 @@ lean::inc(x_2); return x_2; } } -obj* _init_l_Lean_Parser_Term_explicitBinder___closed__3() { +obj* _init_l_Lean_Parser_Term_explicitBinder___closed__4() { +_start: +{ +uint8 x_1; obj* x_2; obj* x_3; obj* x_4; +x_1 = 0; +x_2 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_binderIdent___elambda__1___boxed), 1, 0); +x_3 = lean::box(x_1); +x_4 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_many1Fn___boxed), 5, 2); +lean::closure_set(x_4, 0, x_3); +lean::closure_set(x_4, 1, x_2); +return x_4; +} +} +obj* _init_l_Lean_Parser_Term_explicitBinder___closed__5() { _start: { obj* x_1; obj* x_2; obj* x_3; obj* x_4; @@ -7036,37 +6844,53 @@ x_4 = l_Lean_Parser_symbolInfo(x_3, x_1); return x_4; } } +obj* _init_l_Lean_Parser_Term_explicitBinder___closed__6() { +_start: +{ +obj* x_1; obj* x_2; obj* x_3; +x_1 = lean::mk_string("("); +x_2 = l_String_trim(x_1); +lean::dec(x_1); +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); +lean::closure_set(x_3, 0, x_2); +return x_3; +} +} obj* l_Lean_Parser_Term_explicitBinder(uint8 x_1) { _start: { -obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; +obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; x_2 = l_Lean_Parser_Term_binderType(x_1); x_3 = lean::cnstr_get(x_2, 0); lean::inc(x_3); x_4 = l_Lean_Parser_Term_explicitBinder___closed__1; x_5 = l_Lean_Parser_andthenInfo(x_3, x_4); -x_6 = l_Lean_Parser_Term_explicitBinder___closed__2; -x_7 = l_Lean_Parser_andthenInfo(x_6, x_5); -x_8 = l_Lean_Parser_Term_explicitBinder___closed__3; -x_9 = l_Lean_Parser_andthenInfo(x_8, x_7); -x_10 = l_Lean_Parser_nodeInfo(x_9); -x_11 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_explicitBinder___elambda__1), 4, 1); -lean::closure_set(x_11, 0, x_2); -x_12 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_12, 0, x_10); -lean::cnstr_set(x_12, 1, x_11); -return x_12; -} -} -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_explicitBinder___elambda__1___spec__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_1); -lean::dec(x_1); -x_6 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_explicitBinder___elambda__1___spec__1(x_5, x_2, x_3, x_4); +x_6 = lean::cnstr_get(x_2, 1); +lean::inc(x_6); lean::dec(x_2); -return x_6; +x_7 = l_Lean_Parser_Term_explicitBinder___closed__2; +x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_8, 0, x_6); +lean::closure_set(x_8, 1, x_7); +x_9 = l_Lean_Parser_Term_explicitBinder___closed__3; +x_10 = l_Lean_Parser_andthenInfo(x_9, x_5); +x_11 = l_Lean_Parser_Term_explicitBinder___closed__4; +x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_12, 0, x_11); +lean::closure_set(x_12, 1, x_8); +x_13 = l_Lean_Parser_Term_explicitBinder___closed__5; +x_14 = l_Lean_Parser_andthenInfo(x_13, x_10); +x_15 = l_Lean_Parser_Term_explicitBinder___closed__6; +x_16 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_16, 0, x_15); +lean::closure_set(x_16, 1, x_12); +x_17 = l_Lean_Parser_nodeInfo(x_14); +x_18 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_explicitBinder___elambda__1), 4, 1); +lean::closure_set(x_18, 0, x_16); +x_19 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_19, 0, x_17); +lean::cnstr_set(x_19, 1, x_18); +return x_19; } } obj* l_Lean_Parser_Term_explicitBinder___boxed(obj* x_1) { @@ -7098,142 +6922,15 @@ return x_9; obj* l_Lean_Parser_Term_implicitBinder___elambda__1(obj* 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_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; 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 = l_Lean_Parser_Term_structInst___elambda__1___closed__1; -x_8 = l_Lean_Parser_Term_structInst___elambda__1___closed__2; -lean::inc(x_3); -x_9 = l_Lean_Parser_symbolFnAux(x_7, x_8, x_3, x_4); -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; -x_11 = lean::cnstr_get(x_9, 0); -lean::inc(x_11); -x_12 = lean::array_get_size(x_11); -lean::dec(x_11); -lean::inc(x_3); -x_13 = l_Lean_Parser_Term_binderIdent___elambda__1___rarg(x_3, x_9); -x_14 = lean::cnstr_get(x_13, 3); -lean::inc(x_14); -if (lean::obj_tag(x_14) == 0) -{ -uint8 x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; -x_15 = 0; -lean::inc(x_3); -x_16 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_explicitBinder___elambda__1___spec__1(x_15, x_2, x_3, x_13); -x_17 = l_Lean_nullKind; -x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_12); -x_19 = lean::cnstr_get(x_18, 3); -lean::inc(x_19); -if (lean::obj_tag(x_19) == 0) -{ -obj* x_20; obj* x_21; obj* x_22; -x_20 = lean::cnstr_get(x_1, 1); -lean::inc(x_20); -lean::dec(x_1); -lean::inc(x_3); -x_21 = lean::apply_3(x_20, x_2, x_3, x_18); -x_22 = lean::cnstr_get(x_21, 3); -lean::inc(x_22); -if (lean::obj_tag(x_22) == 0) -{ -obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; -x_23 = l_Lean_Parser_Term_id___elambda__1___closed__4; -x_24 = l_Lean_Parser_Term_id___elambda__1___closed__5; -x_25 = l_Lean_Parser_symbolFnAux(x_23, x_24, x_3, x_21); -x_26 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; -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_22); -lean::dec(x_3); -x_28 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; -x_29 = l_Lean_Parser_ParserState_mkNode(x_21, x_28, x_6); -return x_29; -} -} -else -{ -obj* x_30; obj* x_31; -lean::dec(x_19); -lean::dec(x_3); -lean::dec(x_2); -lean::dec(x_1); -x_30 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; -x_31 = l_Lean_Parser_ParserState_mkNode(x_18, x_30, x_6); -return x_31; -} -} -else -{ -obj* x_32; obj* x_33; obj* x_34; -lean::dec(x_14); -x_32 = l_Lean_nullKind; -x_33 = l_Lean_Parser_ParserState_mkNode(x_13, x_32, x_12); -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_1, 1); -lean::inc(x_35); -lean::dec(x_1); -lean::inc(x_3); -x_36 = lean::apply_3(x_35, x_2, x_3, 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; obj* x_40; obj* x_41; obj* x_42; -x_38 = l_Lean_Parser_Term_id___elambda__1___closed__4; -x_39 = l_Lean_Parser_Term_id___elambda__1___closed__5; -x_40 = l_Lean_Parser_symbolFnAux(x_38, x_39, x_3, x_36); -x_41 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; -x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_6); -return x_42; -} -else -{ -obj* x_43; obj* x_44; -lean::dec(x_37); -lean::dec(x_3); -x_43 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; -x_44 = l_Lean_Parser_ParserState_mkNode(x_36, x_43, x_6); -return x_44; -} -} -else -{ -obj* x_45; obj* x_46; -lean::dec(x_34); -lean::dec(x_3); -lean::dec(x_2); -lean::dec(x_1); -x_45 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; -x_46 = l_Lean_Parser_ParserState_mkNode(x_33, x_45, x_6); -return x_46; -} -} -} -else -{ -obj* x_47; obj* x_48; -lean::dec(x_10); -lean::dec(x_3); -lean::dec(x_2); -lean::dec(x_1); -x_47 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; -x_48 = l_Lean_Parser_ParserState_mkNode(x_9, x_47, x_6); -return x_48; -} +x_7 = lean::apply_3(x_1, x_2, x_3, x_4); +x_8 = l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1; +x_9 = l_Lean_Parser_ParserState_mkNode(x_7, x_8, x_6); +return x_9; } } obj* _init_l_Lean_Parser_Term_implicitBinder___closed__1() { @@ -7251,6 +6948,18 @@ return x_4; obj* _init_l_Lean_Parser_Term_implicitBinder___closed__2() { _start: { +obj* x_1; obj* x_2; obj* x_3; +x_1 = lean::mk_string("}"); +x_2 = l_String_trim(x_1); +lean::dec(x_1); +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); +lean::closure_set(x_3, 0, x_2); +return x_3; +} +} +obj* _init_l_Lean_Parser_Term_implicitBinder___closed__3() { +_start: +{ obj* x_1; obj* x_2; obj* x_3; obj* x_4; x_1 = lean::box(0); x_2 = lean::mk_string("{"); @@ -7260,26 +6969,53 @@ x_4 = l_Lean_Parser_symbolInfo(x_3, x_1); return x_4; } } +obj* _init_l_Lean_Parser_Term_implicitBinder___closed__4() { +_start: +{ +obj* x_1; obj* x_2; obj* x_3; +x_1 = lean::mk_string("{"); +x_2 = l_String_trim(x_1); +lean::dec(x_1); +x_3 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_symbolFn___rarg___boxed), 4, 1); +lean::closure_set(x_3, 0, x_2); +return x_3; +} +} obj* l_Lean_Parser_Term_implicitBinder(uint8 x_1) { _start: { -obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; +obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; x_2 = l_Lean_Parser_Term_binderType(x_1); x_3 = lean::cnstr_get(x_2, 0); lean::inc(x_3); x_4 = l_Lean_Parser_Term_implicitBinder___closed__1; x_5 = l_Lean_Parser_andthenInfo(x_3, x_4); -x_6 = l_Lean_Parser_Term_explicitBinder___closed__2; -x_7 = l_Lean_Parser_andthenInfo(x_6, x_5); -x_8 = l_Lean_Parser_Term_implicitBinder___closed__2; -x_9 = l_Lean_Parser_andthenInfo(x_8, x_7); -x_10 = l_Lean_Parser_nodeInfo(x_9); -x_11 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_implicitBinder___elambda__1), 4, 1); -lean::closure_set(x_11, 0, x_2); -x_12 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_12, 0, x_10); -lean::cnstr_set(x_12, 1, x_11); -return x_12; +x_6 = lean::cnstr_get(x_2, 1); +lean::inc(x_6); +lean::dec(x_2); +x_7 = l_Lean_Parser_Term_implicitBinder___closed__2; +x_8 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_8, 0, x_6); +lean::closure_set(x_8, 1, x_7); +x_9 = l_Lean_Parser_Term_explicitBinder___closed__3; +x_10 = l_Lean_Parser_andthenInfo(x_9, x_5); +x_11 = l_Lean_Parser_Term_explicitBinder___closed__4; +x_12 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_12, 0, x_11); +lean::closure_set(x_12, 1, x_8); +x_13 = l_Lean_Parser_Term_implicitBinder___closed__3; +x_14 = l_Lean_Parser_andthenInfo(x_13, x_10); +x_15 = l_Lean_Parser_Term_implicitBinder___closed__4; +x_16 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_andthenFn___rarg), 5, 2); +lean::closure_set(x_16, 0, x_15); +lean::closure_set(x_16, 1, x_12); +x_17 = l_Lean_Parser_nodeInfo(x_14); +x_18 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_implicitBinder___elambda__1), 4, 1); +lean::closure_set(x_18, 0, x_16); +x_19 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_19, 0, x_17); +lean::cnstr_set(x_19, 1, x_18); +return x_19; } } obj* l_Lean_Parser_Term_implicitBinder___boxed(obj* x_1) { @@ -7342,8 +7078,8 @@ lean::inc(x_15); if (lean::obj_tag(x_15) == 0) { obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; -x_16 = l_Lean_Parser_Term_list___elambda__1___closed__4; -x_17 = l_Lean_Parser_Term_list___elambda__1___closed__5; +x_16 = l_Lean_Parser_Term_list___elambda__1___closed__3; +x_17 = l_Lean_Parser_Term_list___elambda__1___closed__4; x_18 = l_Lean_Parser_symbolFnAux(x_16, x_17, x_1, x_14); x_19 = l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__1; x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_4); @@ -7432,95 +7168,51 @@ return x_2; obj* l_Lean_Parser_Term_bracktedBinder___elambda__1(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; obj* x_10; obj* x_11; -x_6 = lean::cnstr_get(x_1, 1); +obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; +x_6 = lean::cnstr_get(x_5, 0); 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_7 = lean::array_get_size(x_6); +lean::dec(x_6); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); lean::inc(x_4); lean::inc(x_3); -x_10 = lean::apply_3(x_6, x_3, x_4, x_5); -x_11 = lean::cnstr_get(x_10, 3); +x_9 = lean::apply_3(x_2, x_3, x_4, x_5); +x_10 = lean::cnstr_get(x_9, 3); +lean::inc(x_10); +if (lean::obj_tag(x_10) == 0) +{ +lean::dec(x_8); +lean::dec(x_7); +lean::dec(x_4); +lean::dec(x_3); +lean::dec(x_1); +return x_9; +} +else +{ +obj* x_11; uint8 x_12; +lean::dec(x_10); +x_11 = lean::cnstr_get(x_9, 1); lean::inc(x_11); -if (lean::obj_tag(x_11) == 0) -{ -lean::dec(x_9); -lean::dec(x_8); -lean::dec(x_4); -lean::dec(x_3); -lean::dec(x_2); -return x_10; -} -else -{ -obj* x_12; uint8 x_13; +x_12 = lean::nat_dec_eq(x_11, x_8); lean::dec(x_11); -x_12 = lean::cnstr_get(x_10, 1); -lean::inc(x_12); -x_13 = lean::nat_dec_eq(x_12, x_9); -lean::dec(x_12); -if (x_13 == 0) +if (x_12 == 0) { -lean::dec(x_9); lean::dec(x_8); +lean::dec(x_7); lean::dec(x_4); lean::dec(x_3); -lean::dec(x_2); -return x_10; +lean::dec(x_1); +return x_9; } else { -obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; -lean::inc(x_9); -x_14 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9); -lean::dec(x_8); -x_15 = lean::cnstr_get(x_2, 1); -lean::inc(x_15); -lean::dec(x_2); -x_16 = lean::cnstr_get(x_14, 0); -lean::inc(x_16); -x_17 = lean::array_get_size(x_16); -lean::dec(x_16); -lean::inc(x_4); -x_18 = lean::apply_3(x_15, x_3, x_4, x_14); -x_19 = lean::cnstr_get(x_18, 3); -lean::inc(x_19); -if (lean::obj_tag(x_19) == 0) -{ -lean::dec(x_17); -lean::dec(x_9); -lean::dec(x_4); -return x_18; -} -else -{ -obj* x_20; uint8 x_21; -lean::dec(x_19); -x_20 = lean::cnstr_get(x_18, 1); -lean::inc(x_20); -x_21 = lean::nat_dec_eq(x_20, x_9); -lean::dec(x_20); -if (x_21 == 0) -{ -lean::dec(x_17); -lean::dec(x_9); -lean::dec(x_4); -return x_18; -} -else -{ -obj* x_22; obj* x_23; -x_22 = l_Lean_Parser_ParserState_restore(x_18, x_17, x_9); -lean::dec(x_17); -x_23 = l_Lean_Parser_Term_instBinder___elambda__1___rarg(x_4, x_22); -return x_23; -} -} +obj* x_13; obj* x_14; +x_13 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8); +lean::dec(x_7); +x_14 = lean::apply_3(x_1, x_3, x_4, x_13); +return x_14; } } } @@ -7535,26 +7227,44 @@ lean::inc(x_2); return x_2; } } +obj* _init_l_Lean_Parser_Term_bracktedBinder___closed__2() { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_instBinder___elambda__1___boxed), 1, 0); +return x_1; +} +} obj* l_Lean_Parser_Term_bracktedBinder(uint8 x_1) { _start: { -obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; +obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; x_2 = l_Lean_Parser_Term_explicitBinder(x_1); x_3 = l_Lean_Parser_Term_implicitBinder(x_1); x_4 = lean::cnstr_get(x_3, 0); lean::inc(x_4); x_5 = l_Lean_Parser_Term_bracktedBinder___closed__1; x_6 = l_Lean_Parser_orelseInfo(x_4, x_5); -x_7 = lean::cnstr_get(x_2, 0); +x_7 = lean::cnstr_get(x_3, 1); lean::inc(x_7); -x_8 = l_Lean_Parser_orelseInfo(x_7, x_6); -x_9 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_bracktedBinder___elambda__1), 5, 2); -lean::closure_set(x_9, 0, x_2); -lean::closure_set(x_9, 1, x_3); -x_10 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_10, 0, x_8); -lean::cnstr_set(x_10, 1, x_9); -return x_10; +lean::dec(x_3); +x_8 = l_Lean_Parser_Term_bracktedBinder___closed__2; +x_9 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_orelseFn___rarg), 5, 2); +lean::closure_set(x_9, 0, x_7); +lean::closure_set(x_9, 1, x_8); +x_10 = lean::cnstr_get(x_2, 0); +lean::inc(x_10); +x_11 = l_Lean_Parser_orelseInfo(x_10, x_6); +x_12 = lean::cnstr_get(x_2, 1); +lean::inc(x_12); +lean::dec(x_2); +x_13 = lean::alloc_closure(reinterpret_cast(l_Lean_Parser_Term_bracktedBinder___elambda__1), 5, 2); +lean::closure_set(x_13, 0, x_9); +lean::closure_set(x_13, 1, x_12); +x_14 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_14, 0, x_11); +lean::cnstr_set(x_14, 1, x_13); +return x_14; } } obj* l_Lean_Parser_Term_bracktedBinder___boxed(obj* x_1) { @@ -7649,16 +7359,16 @@ _start: uint8 x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; x_4 = 1; x_5 = l_Lean_Parser_Term_bracktedBinder(x_4); -x_6 = lean::cnstr_get(x_3, 0); +x_6 = lean::cnstr_get(x_5, 1); 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); lean::dec(x_5); +x_7 = lean::cnstr_get(x_3, 0); +lean::inc(x_7); +x_8 = lean::array_get_size(x_7); +lean::dec(x_7); lean::inc(x_2); lean::inc(x_1); -x_9 = lean::apply_3(x_8, x_1, x_2, x_3); +x_9 = lean::apply_3(x_6, x_1, x_2, x_3); x_10 = lean::cnstr_get(x_9, 3); lean::inc(x_10); if (lean::obj_tag(x_10) == 0) @@ -7682,7 +7392,7 @@ x_19 = l_Lean_Parser_builtinTermParsingTable; x_20 = lean::mk_nat_obj(0u); x_21 = l_Lean_Parser_runBuiltinParserUnsafe(x_18, x_19, x_20, x_2, x_16); x_22 = l_Lean_Parser_Term_depArrow___elambda__1___closed__5; -x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_7); +x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_8); return x_23; } else @@ -7691,7 +7401,7 @@ obj* x_24; obj* x_25; lean::dec(x_17); lean::dec(x_2); x_24 = l_Lean_Parser_Term_depArrow___elambda__1___closed__5; -x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_7); +x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_8); return x_25; } } @@ -7702,7 +7412,7 @@ lean::dec(x_10); lean::dec(x_2); lean::dec(x_1); x_26 = l_Lean_Parser_Term_depArrow___elambda__1___closed__5; -x_27 = l_Lean_Parser_ParserState_mkNode(x_9, x_26, x_7); +x_27 = l_Lean_Parser_ParserState_mkNode(x_9, x_26, x_8); return x_27; } } @@ -7752,6 +7462,54 @@ x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; } } +obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___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; +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); +x_8 = l_Lean_Parser_Term_binderIdent___elambda__1___rarg(x_3, x_4); +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); +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) +{ +x_4 = x_8; +goto _start; +} +else +{ +obj* x_13; obj* x_14; +lean::dec(x_3); +x_13 = l_Lean_Parser_manyAux___main___closed__1; +x_14 = l_Lean_Parser_ParserState_mkError(x_8, x_13); +return x_14; +} +} +else +{ +obj* x_15; +lean::dec(x_9); +lean::dec(x_3); +x_15 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7); +lean::dec(x_6); +return x_15; +} +} +} obj* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__1() { _start: { @@ -7784,7 +7542,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_Term_explicitBinder___elambda__1___spec__1(x_8, x_1, x_2, x_6); +x_9 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___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); @@ -7821,6 +7579,17 @@ lean::cnstr_set(x_5, 1, x_4); return x_5; } } +obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__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_1); +lean::dec(x_1); +x_6 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1(x_5, x_2, x_3, x_4); +lean::dec(x_2); +return x_6; +} +} obj* l_Lean_Parser_Term_simpleBinder___elambda__1___boxed(obj* x_1, obj* x_2, obj* x_3) { _start: { @@ -7830,114 +7599,113 @@ lean::dec(x_1); return x_4; } } -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(obj* x_1, uint8 x_2, obj* x_3, obj* x_4, obj* x_5) { +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_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -x_7 = lean::array_get_size(x_6); +uint8 x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; +x_5 = 0; +x_6 = l_Lean_Parser_Term_bracktedBinder(x_5); +x_7 = lean::cnstr_get(x_6, 1); +lean::inc(x_7); lean::dec(x_6); -x_8 = lean::cnstr_get(x_5, 1); +x_8 = lean::cnstr_get(x_4, 0); lean::inc(x_8); -x_9 = lean::cnstr_get(x_1, 1); -lean::inc(x_9); -lean::inc(x_4); -x_10 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_3, x_4, x_5); -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_9); -lean::dec(x_7); -x_12 = lean::cnstr_get(x_10, 1); -lean::inc(x_12); -x_13 = lean::nat_dec_eq(x_8, x_12); -lean::dec(x_12); +x_9 = lean::array_get_size(x_8); lean::dec(x_8); -if (x_13 == 0) -{ -x_5 = x_10; -goto _start; -} -else -{ -obj* x_15; obj* x_16; -lean::dec(x_4); -lean::dec(x_3); -lean::dec(x_1); -x_15 = l_Lean_Parser_manyAux___main___closed__1; -x_16 = l_Lean_Parser_ParserState_mkError(x_10, x_15); -return x_16; -} -} -else -{ -obj* x_17; uint8 x_18; -lean::dec(x_11); -x_17 = lean::cnstr_get(x_10, 1); -lean::inc(x_17); -x_18 = lean::nat_dec_eq(x_17, x_8); -lean::dec(x_17); -if (x_18 == 0) -{ -obj* x_19; -lean::dec(x_9); -lean::dec(x_4); -lean::dec(x_3); -lean::dec(x_1); -x_19 = l_Lean_Parser_ParserState_restore(x_10, x_7, x_8); -lean::dec(x_7); -return x_19; -} -else -{ -obj* x_20; obj* x_21; obj* x_22; -lean::inc(x_8); -x_20 = l_Lean_Parser_ParserState_restore(x_10, x_7, x_8); -lean::inc(x_4); +x_10 = lean::cnstr_get(x_4, 1); +lean::inc(x_10); lean::inc(x_3); -x_21 = lean::apply_3(x_9, x_3, x_4, x_20); -x_22 = lean::cnstr_get(x_21, 3); -lean::inc(x_22); -if (lean::obj_tag(x_22) == 0) +x_11 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_2, x_3, x_4); +x_12 = lean::cnstr_get(x_11, 3); +lean::inc(x_12); +if (lean::obj_tag(x_12) == 0) { -obj* x_23; uint8 x_24; +obj* x_13; uint8 x_14; +lean::dec(x_9); lean::dec(x_7); -x_23 = lean::cnstr_get(x_21, 1); -lean::inc(x_23); -x_24 = lean::nat_dec_eq(x_8, x_23); -lean::dec(x_23); -lean::dec(x_8); -if (x_24 == 0) +x_13 = lean::cnstr_get(x_11, 1); +lean::inc(x_13); +x_14 = lean::nat_dec_eq(x_10, x_13); +lean::dec(x_13); +lean::dec(x_10); +if (x_14 == 0) { -x_5 = x_21; +x_4 = x_11; goto _start; } else { -obj* x_26; obj* x_27; -lean::dec(x_4); +obj* x_16; obj* x_17; lean::dec(x_3); -lean::dec(x_1); -x_26 = l_Lean_Parser_manyAux___main___closed__1; -x_27 = l_Lean_Parser_ParserState_mkError(x_21, x_26); -return x_27; +lean::dec(x_2); +x_16 = l_Lean_Parser_manyAux___main___closed__1; +x_17 = l_Lean_Parser_ParserState_mkError(x_11, x_16); +return x_17; } } else { -obj* x_28; -lean::dec(x_22); -lean::dec(x_4); -lean::dec(x_3); -lean::dec(x_1); -x_28 = l_Lean_Parser_ParserState_restore(x_21, x_7, x_8); +obj* x_18; uint8 x_19; +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_20; lean::dec(x_7); +lean::dec(x_3); +lean::dec(x_2); +x_20 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10); +lean::dec(x_9); +return x_20; +} +else +{ +obj* x_21; obj* x_22; obj* x_23; +lean::inc(x_10); +x_21 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10); +lean::inc(x_3); +lean::inc(x_2); +x_22 = lean::apply_3(x_7, x_2, x_3, x_21); +x_23 = lean::cnstr_get(x_22, 3); +lean::inc(x_23); +if (lean::obj_tag(x_23) == 0) +{ +obj* x_24; uint8 x_25; +lean::dec(x_9); +x_24 = lean::cnstr_get(x_22, 1); +lean::inc(x_24); +x_25 = lean::nat_dec_eq(x_10, x_24); +lean::dec(x_24); +lean::dec(x_10); +if (x_25 == 0) +{ +x_4 = x_22; +goto _start; +} +else +{ +obj* x_27; obj* x_28; +lean::dec(x_3); +lean::dec(x_2); +x_27 = l_Lean_Parser_manyAux___main___closed__1; +x_28 = l_Lean_Parser_ParserState_mkError(x_22, x_27); return x_28; } } +else +{ +obj* x_29; +lean::dec(x_23); +lean::dec(x_3); +lean::dec(x_2); +x_29 = l_Lean_Parser_ParserState_restore(x_22, x_9, x_10); +lean::dec(x_9); +return x_29; +} +} } } } @@ -7988,15 +7756,6 @@ return x_11; obj* _init_l_Lean_Parser_Term_forall___elambda__1___closed__4() { _start: { -uint8 x_1; obj* x_2; -x_1 = 0; -x_2 = l_Lean_Parser_Term_bracktedBinder(x_1); -return x_2; -} -} -obj* _init_l_Lean_Parser_Term_forall___elambda__1___closed__5() { -_start: -{ obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; x_1 = lean::box(0); x_2 = lean::mk_string("Lean"); @@ -8013,90 +7772,89 @@ return x_9; obj* l_Lean_Parser_Term_forall___elambda__1(obj* x_1, obj* x_2, obj* x_3) { _start: { -uint8 x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; +uint8 x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; x_4 = 0; x_5 = l_Lean_Parser_Term_bracktedBinder(x_4); -x_6 = lean::cnstr_get(x_3, 0); +x_6 = lean::cnstr_get(x_5, 1); lean::inc(x_6); -x_7 = lean::array_get_size(x_6); -lean::dec(x_6); -x_8 = l_Lean_Parser_Term_forall___elambda__1___closed__1; -x_9 = l_Lean_Parser_Term_forall___elambda__1___closed__2; -x_10 = l_Lean_Parser_Term_forall___elambda__1___closed__3; -lean::inc(x_2); -x_11 = l_Lean_Parser_unicodeSymbolFnAux(x_8, x_9, x_10, x_2, x_3); -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_55; obj* x_56; obj* x_57; obj* x_58; -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_55 = lean::cnstr_get(x_5, 1); -lean::inc(x_55); lean::dec(x_5); -x_56 = lean::cnstr_get(x_11, 1); -lean::inc(x_56); +x_7 = lean::cnstr_get(x_3, 0); +lean::inc(x_7); +x_8 = lean::array_get_size(x_7); +lean::dec(x_7); +x_9 = l_Lean_Parser_Term_forall___elambda__1___closed__1; +x_10 = l_Lean_Parser_Term_forall___elambda__1___closed__2; +x_11 = l_Lean_Parser_Term_forall___elambda__1___closed__3; lean::inc(x_2); -x_57 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_1, x_2, x_11); -x_58 = lean::cnstr_get(x_57, 3); +x_12 = l_Lean_Parser_unicodeSymbolFnAux(x_9, x_10, x_11, x_2, x_3); +x_13 = lean::cnstr_get(x_12, 3); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_14; obj* x_15; obj* x_16; obj* x_55; obj* x_56; obj* x_57; +x_14 = lean::cnstr_get(x_12, 0); +lean::inc(x_14); +x_15 = lean::array_get_size(x_14); +lean::dec(x_14); +x_55 = lean::cnstr_get(x_12, 1); +lean::inc(x_55); +lean::inc(x_2); +x_56 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_1, x_2, x_12); +x_57 = lean::cnstr_get(x_56, 3); +lean::inc(x_57); +if (lean::obj_tag(x_57) == 0) +{ +lean::dec(x_55); +lean::dec(x_6); +x_16 = x_56; +goto block_54; +} +else +{ +obj* x_58; uint8 x_59; +lean::dec(x_57); +x_58 = lean::cnstr_get(x_56, 1); lean::inc(x_58); -if (lean::obj_tag(x_58) == 0) -{ -lean::dec(x_56); -lean::dec(x_55); -x_15 = x_57; -goto block_54; -} -else -{ -obj* x_59; uint8 x_60; +x_59 = lean::nat_dec_eq(x_58, x_55); lean::dec(x_58); -x_59 = lean::cnstr_get(x_57, 1); -lean::inc(x_59); -x_60 = lean::nat_dec_eq(x_59, x_56); -lean::dec(x_59); -if (x_60 == 0) +if (x_59 == 0) { -lean::dec(x_56); lean::dec(x_55); -x_15 = x_57; +lean::dec(x_6); +x_16 = x_56; goto block_54; } else { -obj* x_61; obj* x_62; -x_61 = l_Lean_Parser_ParserState_restore(x_57, x_14, x_56); +obj* x_60; obj* x_61; +x_60 = l_Lean_Parser_ParserState_restore(x_56, x_15, x_55); lean::inc(x_2); lean::inc(x_1); -x_62 = lean::apply_3(x_55, x_1, x_2, x_61); -x_15 = x_62; +x_61 = lean::apply_3(x_6, x_1, x_2, x_60); +x_16 = x_61; goto block_54; } } block_54: { -obj* x_16; -x_16 = lean::cnstr_get(x_15, 3); -lean::inc(x_16); -if (lean::obj_tag(x_16) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_16, 3); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_17; uint8 x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; -x_17 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +uint8 x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; x_18 = 0; lean::inc(x_2); -x_19 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(x_17, x_18, x_1, x_2, x_15); +x_19 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(x_18, x_1, x_2, x_16); x_20 = l_Lean_nullKind; -x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_14); +x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_15); x_22 = lean::cnstr_get(x_21, 3); lean::inc(x_22); if (lean::obj_tag(x_22) == 0) { obj* x_23; obj* x_24; obj* x_25; obj* x_26; -x_23 = l_Lean_Parser_Term_id___elambda__1___closed__3; -x_24 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__1; +x_23 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1; +x_24 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2; lean::inc(x_2); x_25 = l_Lean_Parser_symbolFnAux(x_23, x_24, x_2, x_21); x_26 = lean::cnstr_get(x_25, 3); @@ -8108,8 +7866,8 @@ x_27 = l_Lean_Parser_termParserFn___rarg___closed__1; x_28 = l_Lean_Parser_builtinTermParsingTable; x_29 = lean::mk_nat_obj(0u); x_30 = l_Lean_Parser_runBuiltinParserUnsafe(x_27, x_28, x_29, x_2, x_25); -x_31 = l_Lean_Parser_Term_forall___elambda__1___closed__5; -x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_7); +x_31 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_8); return x_32; } else @@ -8117,8 +7875,8 @@ else obj* x_33; obj* x_34; lean::dec(x_26); lean::dec(x_2); -x_33 = l_Lean_Parser_Term_forall___elambda__1___closed__5; -x_34 = l_Lean_Parser_ParserState_mkNode(x_25, x_33, x_7); +x_33 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +x_34 = l_Lean_Parser_ParserState_mkNode(x_25, x_33, x_8); return x_34; } } @@ -8127,25 +7885,25 @@ else obj* x_35; obj* x_36; lean::dec(x_22); lean::dec(x_2); -x_35 = l_Lean_Parser_Term_forall___elambda__1___closed__5; -x_36 = l_Lean_Parser_ParserState_mkNode(x_21, x_35, x_7); +x_35 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +x_36 = l_Lean_Parser_ParserState_mkNode(x_21, x_35, x_8); return x_36; } } else { obj* x_37; obj* x_38; obj* x_39; -lean::dec(x_16); +lean::dec(x_17); lean::dec(x_1); x_37 = l_Lean_nullKind; -x_38 = l_Lean_Parser_ParserState_mkNode(x_15, x_37, x_14); +x_38 = l_Lean_Parser_ParserState_mkNode(x_16, x_37, x_15); x_39 = lean::cnstr_get(x_38, 3); lean::inc(x_39); if (lean::obj_tag(x_39) == 0) { obj* x_40; obj* x_41; obj* x_42; obj* x_43; -x_40 = l_Lean_Parser_Term_id___elambda__1___closed__3; -x_41 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__1; +x_40 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1; +x_41 = l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2; lean::inc(x_2); x_42 = l_Lean_Parser_symbolFnAux(x_40, x_41, x_2, x_38); x_43 = lean::cnstr_get(x_42, 3); @@ -8157,8 +7915,8 @@ x_44 = l_Lean_Parser_termParserFn___rarg___closed__1; x_45 = l_Lean_Parser_builtinTermParsingTable; x_46 = lean::mk_nat_obj(0u); x_47 = l_Lean_Parser_runBuiltinParserUnsafe(x_44, x_45, x_46, x_2, x_42); -x_48 = l_Lean_Parser_Term_forall___elambda__1___closed__5; -x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_7); +x_48 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_8); return x_49; } else @@ -8166,8 +7924,8 @@ else obj* x_50; obj* x_51; lean::dec(x_43); lean::dec(x_2); -x_50 = l_Lean_Parser_Term_forall___elambda__1___closed__5; -x_51 = l_Lean_Parser_ParserState_mkNode(x_42, x_50, x_7); +x_50 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +x_51 = l_Lean_Parser_ParserState_mkNode(x_42, x_50, x_8); return x_51; } } @@ -8176,8 +7934,8 @@ else obj* x_52; obj* x_53; lean::dec(x_39); lean::dec(x_2); -x_52 = l_Lean_Parser_Term_forall___elambda__1___closed__5; -x_53 = l_Lean_Parser_ParserState_mkNode(x_38, x_52, x_7); +x_52 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +x_53 = l_Lean_Parser_ParserState_mkNode(x_38, x_52, x_8); return x_53; } } @@ -8185,14 +7943,14 @@ return x_53; } else { -obj* x_63; obj* x_64; -lean::dec(x_12); -lean::dec(x_5); +obj* x_62; obj* x_63; +lean::dec(x_13); +lean::dec(x_6); lean::dec(x_2); lean::dec(x_1); -x_63 = l_Lean_Parser_Term_forall___elambda__1___closed__5; -x_64 = l_Lean_Parser_ParserState_mkNode(x_11, x_63, x_7); -return x_64; +x_62 = l_Lean_Parser_Term_forall___elambda__1___closed__4; +x_63 = l_Lean_Parser_ParserState_mkNode(x_12, x_62, x_8); +return x_63; } } } @@ -8237,14 +7995,14 @@ lean::cnstr_set(x_24, 1, x_23); return x_24; } } -obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +obj* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___boxed(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -uint8 x_6; obj* x_7; -x_6 = lean::unbox(x_2); -lean::dec(x_2); -x_7 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(x_1, x_6, x_3, x_4, x_5); -return x_7; +uint8 x_5; obj* x_6; +x_5 = lean::unbox(x_1); +lean::dec(x_1); +x_6 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(x_5, x_2, x_3, x_4); +return x_6; } } obj* l___regBuiltinParser_Lean_Parser_Term_forall(obj* x_1) { @@ -8252,7 +8010,7 @@ _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_forall___elambda__1___closed__5; +x_3 = l_Lean_Parser_Term_forall___elambda__1___closed__4; x_4 = l_Lean_Parser_Term_forall; x_5 = l_Lean_Parser_addBuiltinLeadingParser(x_2, x_3, x_4, x_1); return x_5; @@ -8342,62 +8100,61 @@ 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; uint8 x_12; obj* x_13; obj* x_14; -x_10 = l_Lean_Parser_Term_id___elambda__1___closed__3; +uint8 x_10; uint8 x_11; obj* x_12; obj* x_13; +x_10 = 0; x_11 = 0; -x_12 = 0; lean::inc(x_2); -x_13 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_10, x_11, x_12, x_1, x_2, x_8); -x_14 = lean::cnstr_get(x_13, 3); -lean::inc(x_14); -if (lean::obj_tag(x_14) == 0) +x_12 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_10, x_11, x_1, x_2, x_8); +x_13 = lean::cnstr_get(x_12, 3); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_15; obj* x_16; obj* x_17; obj* x_18; -x_15 = l_Lean_Parser_Term_equation___elambda__1___closed__3; -x_16 = l_Lean_Parser_Term_equation___elambda__1___closed__4; +obj* x_14; obj* x_15; obj* x_16; obj* x_17; +x_14 = l_Lean_Parser_Term_equation___elambda__1___closed__3; +x_15 = l_Lean_Parser_Term_equation___elambda__1___closed__4; lean::inc(x_2); -x_17 = l_Lean_Parser_symbolFnAux(x_15, x_16, x_2, x_13); -x_18 = lean::cnstr_get(x_17, 3); -lean::inc(x_18); -if (lean::obj_tag(x_18) == 0) +x_16 = l_Lean_Parser_symbolFnAux(x_14, x_15, x_2, x_12); +x_17 = lean::cnstr_get(x_16, 3); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; -x_19 = l_Lean_Parser_termParserFn___rarg___closed__1; -x_20 = l_Lean_Parser_builtinTermParsingTable; -x_21 = lean::mk_nat_obj(0u); -x_22 = l_Lean_Parser_runBuiltinParserUnsafe(x_19, x_20, x_21, x_2, x_17); -x_23 = l_Lean_Parser_Term_equation___elambda__1___closed__5; -x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_5); -return x_24; +obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; +x_18 = l_Lean_Parser_termParserFn___rarg___closed__1; +x_19 = l_Lean_Parser_builtinTermParsingTable; +x_20 = lean::mk_nat_obj(0u); +x_21 = l_Lean_Parser_runBuiltinParserUnsafe(x_18, x_19, x_20, x_2, x_16); +x_22 = l_Lean_Parser_Term_equation___elambda__1___closed__5; +x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_5); +return x_23; } else { -obj* x_25; obj* x_26; -lean::dec(x_18); +obj* x_24; obj* x_25; +lean::dec(x_17); lean::dec(x_2); -x_25 = l_Lean_Parser_Term_equation___elambda__1___closed__5; -x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_5); -return x_26; +x_24 = l_Lean_Parser_Term_equation___elambda__1___closed__5; +x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_5); +return x_25; } } else { -obj* x_27; obj* x_28; -lean::dec(x_14); +obj* x_26; obj* x_27; +lean::dec(x_13); lean::dec(x_2); -x_27 = l_Lean_Parser_Term_equation___elambda__1___closed__5; -x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_5); -return x_28; +x_26 = l_Lean_Parser_Term_equation___elambda__1___closed__5; +x_27 = l_Lean_Parser_ParserState_mkNode(x_12, x_26, x_5); +return x_27; } } else { -obj* x_29; obj* x_30; +obj* x_28; obj* x_29; lean::dec(x_9); lean::dec(x_2); -x_29 = l_Lean_Parser_Term_equation___elambda__1___closed__5; -x_30 = l_Lean_Parser_ParserState_mkNode(x_8, x_29, x_5); -return x_30; +x_28 = l_Lean_Parser_Term_equation___elambda__1___closed__5; +x_29 = l_Lean_Parser_ParserState_mkNode(x_8, x_28, x_5); +return x_29; } } } @@ -8577,101 +8334,100 @@ 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; uint8 x_12; obj* x_13; obj* x_14; -x_10 = l_Lean_Parser_Term_id___elambda__1___closed__3; +uint8 x_10; uint8 x_11; obj* x_12; obj* x_13; +x_10 = 0; x_11 = 0; -x_12 = 0; lean::inc(x_2); -x_13 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_10, x_11, x_12, x_1, x_2, x_8); -x_14 = lean::cnstr_get(x_13, 3); -lean::inc(x_14); -if (lean::obj_tag(x_14) == 0) +x_12 = l_Lean_Parser_sepBy1Fn___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_10, x_11, x_1, x_2, x_8); +x_13 = lean::cnstr_get(x_12, 3); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_15; obj* x_16; +obj* x_14; obj* x_15; lean::inc(x_2); -x_15 = l_Lean_Parser_Term_optType___elambda__1___rarg(x_2, x_13); -x_16 = lean::cnstr_get(x_15, 3); -lean::inc(x_16); -if (lean::obj_tag(x_16) == 0) +x_14 = l_Lean_Parser_Term_optType___elambda__1___rarg(x_2, x_12); +x_15 = lean::cnstr_get(x_14, 3); +lean::inc(x_15); +if (lean::obj_tag(x_15) == 0) { -obj* x_17; obj* x_18; obj* x_19; obj* x_20; -x_17 = l_Lean_Parser_Term_match___elambda__1___closed__3; -x_18 = l_Lean_Parser_Term_match___elambda__1___closed__4; +obj* x_16; obj* x_17; obj* x_18; obj* x_19; +x_16 = l_Lean_Parser_Term_match___elambda__1___closed__3; +x_17 = l_Lean_Parser_Term_match___elambda__1___closed__4; lean::inc(x_2); -x_19 = l_Lean_Parser_symbolFnAux(x_17, x_18, x_2, x_15); -x_20 = lean::cnstr_get(x_19, 3); +x_18 = l_Lean_Parser_symbolFnAux(x_16, x_17, x_2, x_14); +x_19 = lean::cnstr_get(x_18, 3); +lean::inc(x_19); +if (lean::obj_tag(x_19) == 0) +{ +obj* x_20; obj* x_21; obj* x_22; obj* x_23; +x_20 = lean::cnstr_get(x_18, 0); lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) -{ -obj* x_21; obj* x_22; obj* x_23; obj* x_24; -x_21 = lean::cnstr_get(x_19, 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_Term_equation___elambda__1(x_1, x_2, x_19); -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; obj* x_28; obj* x_29; -x_25 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1(x_11, x_1, x_2, x_23); -x_26 = l_Lean_nullKind; -x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_22); -x_28 = l_Lean_Parser_Term_match___elambda__1___closed__5; -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_24); -lean::dec(x_2); -x_30 = l_Lean_nullKind; -x_31 = l_Lean_Parser_ParserState_mkNode(x_23, x_30, x_22); -x_32 = l_Lean_Parser_Term_match___elambda__1___closed__5; -x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_5); -return x_33; -} -} -else -{ -obj* x_34; obj* x_35; +x_21 = lean::array_get_size(x_20); lean::dec(x_20); +lean::inc(x_2); +x_22 = l_Lean_Parser_Term_equation___elambda__1(x_1, x_2, x_18); +x_23 = lean::cnstr_get(x_22, 3); +lean::inc(x_23); +if (lean::obj_tag(x_23) == 0) +{ +obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_28; +x_24 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_match___elambda__1___spec__1(x_10, x_1, x_2, x_22); +x_25 = l_Lean_nullKind; +x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_21); +x_27 = l_Lean_Parser_Term_match___elambda__1___closed__5; +x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_5); +return x_28; +} +else +{ +obj* x_29; obj* x_30; obj* x_31; obj* x_32; +lean::dec(x_23); lean::dec(x_2); -x_34 = l_Lean_Parser_Term_match___elambda__1___closed__5; -x_35 = l_Lean_Parser_ParserState_mkNode(x_19, x_34, x_5); -return x_35; +x_29 = l_Lean_nullKind; +x_30 = l_Lean_Parser_ParserState_mkNode(x_22, x_29, x_21); +x_31 = l_Lean_Parser_Term_match___elambda__1___closed__5; +x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_5); +return x_32; } } else { -obj* x_36; obj* x_37; -lean::dec(x_16); +obj* x_33; obj* x_34; +lean::dec(x_19); lean::dec(x_2); -x_36 = l_Lean_Parser_Term_match___elambda__1___closed__5; -x_37 = l_Lean_Parser_ParserState_mkNode(x_15, x_36, x_5); -return x_37; +x_33 = l_Lean_Parser_Term_match___elambda__1___closed__5; +x_34 = l_Lean_Parser_ParserState_mkNode(x_18, x_33, x_5); +return x_34; } } else { -obj* x_38; obj* x_39; -lean::dec(x_14); +obj* x_35; obj* x_36; +lean::dec(x_15); lean::dec(x_2); -x_38 = l_Lean_Parser_Term_match___elambda__1___closed__5; -x_39 = l_Lean_Parser_ParserState_mkNode(x_13, x_38, x_5); -return x_39; +x_35 = l_Lean_Parser_Term_match___elambda__1___closed__5; +x_36 = l_Lean_Parser_ParserState_mkNode(x_14, x_35, x_5); +return x_36; } } else { -obj* x_40; obj* x_41; +obj* x_37; obj* x_38; +lean::dec(x_13); +lean::dec(x_2); +x_37 = l_Lean_Parser_Term_match___elambda__1___closed__5; +x_38 = l_Lean_Parser_ParserState_mkNode(x_12, x_37, x_5); +return x_38; +} +} +else +{ +obj* x_39; obj* x_40; lean::dec(x_9); lean::dec(x_2); -x_40 = l_Lean_Parser_Term_match___elambda__1___closed__5; -x_41 = l_Lean_Parser_ParserState_mkNode(x_8, x_40, x_5); -return x_41; +x_39 = l_Lean_Parser_Term_match___elambda__1___closed__5; +x_40 = l_Lean_Parser_ParserState_mkNode(x_8, x_39, x_5); +return x_40; } } } @@ -9600,8 +9356,8 @@ lean::inc(x_16); if (lean::obj_tag(x_16) == 0) { obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; -x_17 = l_Lean_Parser_Term_list___elambda__1___closed__4; -x_18 = l_Lean_Parser_Term_list___elambda__1___closed__5; +x_17 = l_Lean_Parser_Term_list___elambda__1___closed__3; +x_18 = l_Lean_Parser_Term_list___elambda__1___closed__4; x_19 = l_Lean_Parser_symbolFnAux(x_17, x_18, x_2, x_15); x_20 = l_Lean_Parser_Term_array___elambda__1___closed__2; x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_5); @@ -9648,8 +9404,8 @@ lean::inc(x_34); if (lean::obj_tag(x_34) == 0) { obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_39; -x_35 = l_Lean_Parser_Term_list___elambda__1___closed__4; -x_36 = l_Lean_Parser_Term_list___elambda__1___closed__5; +x_35 = l_Lean_Parser_Term_list___elambda__1___closed__3; +x_36 = l_Lean_Parser_Term_list___elambda__1___closed__4; x_37 = l_Lean_Parser_symbolFnAux(x_35, x_36, x_2, x_33); x_38 = l_Lean_Parser_Term_array___elambda__1___closed__2; x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_5); @@ -10856,6 +10612,10 @@ 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_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1 = _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1(); +lean::mark_persistent(l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__1); +l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2 = _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2(); +lean::mark_persistent(l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_id___elambda__1___spec__2___closed__2); 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(); @@ -10866,8 +10626,6 @@ l_Lean_Parser_Term_id___elambda__1___closed__4 = _init_l_Lean_Parser_Term_id___e 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 = _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); @@ -10949,8 +10707,6 @@ lean::mark_persistent(l_Lean_Parser_Term_typeAscription); lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "typeAscription"), l_Lean_Parser_Term_typeAscription); l_Lean_Parser_Term_tupleTail___elambda__1___closed__1 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__1(); lean::mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__1); -l_Lean_Parser_Term_tupleTail___elambda__1___closed__2 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__2(); -lean::mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__2); l_Lean_Parser_Term_tupleTail = _init_l_Lean_Parser_Term_tupleTail(); lean::mark_persistent(l_Lean_Parser_Term_tupleTail); lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "tupleTail"), l_Lean_Parser_Term_tupleTail); @@ -11123,6 +10879,10 @@ lean::mark_persistent(l_Lean_Parser_Term_subtype); lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "subtype"), l_Lean_Parser_Term_subtype); w = l___regBuiltinParser_Lean_Parser_Term_subtype(w); if (io_result_is_error(w)) return w; +l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__1 = _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__1(); +lean::mark_persistent(l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__1); +l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__2 = _init_l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__2(); +lean::mark_persistent(l___private_init_lean_parser_parser_1__sepByFnAux___main___at_Lean_Parser_Term_list___elambda__1___spec__2___closed__2); l_Lean_Parser_Term_list___elambda__1___closed__1 = _init_l_Lean_Parser_Term_list___elambda__1___closed__1(); lean::mark_persistent(l_Lean_Parser_Term_list___elambda__1___closed__1); l_Lean_Parser_Term_list___elambda__1___closed__2 = _init_l_Lean_Parser_Term_list___elambda__1___closed__2(); @@ -11133,8 +10893,6 @@ l_Lean_Parser_Term_list___elambda__1___closed__4 = _init_l_Lean_Parser_Term_list lean::mark_persistent(l_Lean_Parser_Term_list___elambda__1___closed__4); l_Lean_Parser_Term_list___elambda__1___closed__5 = _init_l_Lean_Parser_Term_list___elambda__1___closed__5(); lean::mark_persistent(l_Lean_Parser_Term_list___elambda__1___closed__5); -l_Lean_Parser_Term_list___elambda__1___closed__6 = _init_l_Lean_Parser_Term_list___elambda__1___closed__6(); -lean::mark_persistent(l_Lean_Parser_Term_list___elambda__1___closed__6); l_Lean_Parser_Term_list = _init_l_Lean_Parser_Term_list(); lean::mark_persistent(l_Lean_Parser_Term_list); lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "list"), l_Lean_Parser_Term_list); @@ -11166,6 +10924,12 @@ l_Lean_Parser_Term_explicitBinder___closed__2 = _init_l_Lean_Parser_Term_explici lean::mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__2); l_Lean_Parser_Term_explicitBinder___closed__3 = _init_l_Lean_Parser_Term_explicitBinder___closed__3(); lean::mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__3); +l_Lean_Parser_Term_explicitBinder___closed__4 = _init_l_Lean_Parser_Term_explicitBinder___closed__4(); +lean::mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__4); +l_Lean_Parser_Term_explicitBinder___closed__5 = _init_l_Lean_Parser_Term_explicitBinder___closed__5(); +lean::mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__5); +l_Lean_Parser_Term_explicitBinder___closed__6 = _init_l_Lean_Parser_Term_explicitBinder___closed__6(); +lean::mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__6); REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "explicitBinder"), 1, l_Lean_Parser_Term_explicitBinder___boxed); l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1(); lean::mark_persistent(l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1); @@ -11173,6 +10937,10 @@ l_Lean_Parser_Term_implicitBinder___closed__1 = _init_l_Lean_Parser_Term_implici lean::mark_persistent(l_Lean_Parser_Term_implicitBinder___closed__1); l_Lean_Parser_Term_implicitBinder___closed__2 = _init_l_Lean_Parser_Term_implicitBinder___closed__2(); lean::mark_persistent(l_Lean_Parser_Term_implicitBinder___closed__2); +l_Lean_Parser_Term_implicitBinder___closed__3 = _init_l_Lean_Parser_Term_implicitBinder___closed__3(); +lean::mark_persistent(l_Lean_Parser_Term_implicitBinder___closed__3); +l_Lean_Parser_Term_implicitBinder___closed__4 = _init_l_Lean_Parser_Term_implicitBinder___closed__4(); +lean::mark_persistent(l_Lean_Parser_Term_implicitBinder___closed__4); REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "implicitBinder"), 1, l_Lean_Parser_Term_implicitBinder___boxed); l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__1 = _init_l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__1(); lean::mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___rarg___closed__1); @@ -11181,6 +10949,8 @@ lean::mark_persistent(l_Lean_Parser_Term_instBinder); lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "instBinder"), l_Lean_Parser_Term_instBinder); l_Lean_Parser_Term_bracktedBinder___closed__1 = _init_l_Lean_Parser_Term_bracktedBinder___closed__1(); lean::mark_persistent(l_Lean_Parser_Term_bracktedBinder___closed__1); +l_Lean_Parser_Term_bracktedBinder___closed__2 = _init_l_Lean_Parser_Term_bracktedBinder___closed__2(); +lean::mark_persistent(l_Lean_Parser_Term_bracktedBinder___closed__2); REGISTER_LEAN_FUNCTION(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "bracktedBinder"), 1, l_Lean_Parser_Term_bracktedBinder___boxed); l_Lean_Parser_Term_depArrow___elambda__1___closed__1 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__1(); lean::mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__1); @@ -11210,8 +10980,6 @@ l_Lean_Parser_Term_forall___elambda__1___closed__3 = _init_l_Lean_Parser_Term_fo lean::mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__3); l_Lean_Parser_Term_forall___elambda__1___closed__4 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__4(); lean::mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__4); -l_Lean_Parser_Term_forall___elambda__1___closed__5 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__5(); -lean::mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__5); l_Lean_Parser_Term_forall = _init_l_Lean_Parser_Term_forall(); lean::mark_persistent(l_Lean_Parser_Term_forall); lean::register_constant(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name(lean::mk_const_name("Lean"), "Parser"), "Term"), "forall"), l_Lean_Parser_Term_forall);